黑马程序员技术交流社区
标题:
day09练习3
[打印本页]
作者:
gcno93
时间:
2016-9-6 22:32
标题:
day09练习3
需求五:
已知动物类(姓名,年龄,吃饭,睡觉),它有两个子类,分别是猫类和狗类。
不同的是猫吃鱼,狗吃肉。
经过马戏团的培训后,部分猫会跳高,部分狗也会跳高。
请写代码实现。
class Test1_Animal {
public static void main(String[] args) {
//猫
Cat c = new Cat("kk",8);
c.eat();
c.sleep();
JumpCat jc = new JumpCat("会跳高猫",3);
jc.eat();
jc.sleep();
jc.jump();
//狗
Dog d = new Cat("jj",8);
d.eat();
d.sleep();
JumpDog dc = new JumpDog("会跳高狗",3);
dc.eat();
dc.sleep();
dc.jump();
}
}
abstract class Animal {
private String name; //姓名
private int age; //年龄
public Animal() {} //空参构造
public Animal(String name,int age) {//有参构造
this.name = name;
this.age = age;
}
public void setName(String name) { //设置姓名
this.name = name;
}
public String getName() { //获取姓名
return name;
}
public void setAge(int age) { //设置年龄
this.age = age;
}
public int getAge() { //获取年龄
return age;
}
public abstract void eat(); //吃饭
public abstract void sleep(); //睡觉
}
interface Jumping { //跳高的接口
public void jump();
}
class Cat extends Animal {
public Cat() {} //空参构造
public Cat(String name,int age) {//有参构造
super(name,age);
}
public void eat() {
System.out.println("猫吃肉");
}
public void sleep() {
System.out.println("侧着睡");
}
}
class JumpCat extends Cat implements Jumping {
public JumpCat() {} //空参构造
public JumpCat(String name,int age) {//有参构造
super(name,age);
}
public void jump() {
System.out.println("猫跳高");
}
}
class Dog extends Animal {
public Dog() {} //空参构造
public Dog(String name,int age) {//有参构造
super(name,age);
}
public void eat() {
System.out.println("狗吃肉");
}
public void sleep() {
System.out.println("躺着睡");
}
}
class JumpDog extends Cat implements Jumping {
public JumpDog() {} //空参构造
public JumpDog(String name,int age) {//有参构造
super(name,age);
}
public void jump() {
System.out.println("狗跳高");
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2