需求:对猫和狗进行训练,他们就可以跳高了,这里加入了跳高功能,请采用抽象类和接口来实现猫和狗的案例。 (1)定义跳高接口(JumpInterface) 成员方法:跳高();---jump(); (2)定义动物类抽象类(Animal)实现跳高接口 成员变量:姓名、年龄; 构造方法:无参、带参 成员方法:get/set方法,吃饭();---eat(); (3)定义猫类(Cat),继承动物类Animal 构造方法:无参、带参 成员方法:重写eat(),重写跳高jump(); (4)定义狗类(Dog),继承动物类Animal 构造方法:无参、带参 成员方法:重写eat(),重写跳高jump();
时间: 2023-05-12 17:07:23 浏览: 114
实现一个适配器实例,使得猫(Cat)可以学狗(Dog)叫
回答:好的,根据您的需求,我可以给您提供以下的代码实现:
```
// 定义跳高接口
interface JumpInterface {
void jump();
}
// 定义动物类抽象类,实现跳高接口
abstract class Animal implements JumpInterface {
private String name;
private int age;
public Animal() {}
public Animal(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public int getAge() { return age; }
public void setAge(int age) { this.age = age; }
public void eat() {
System.out.println("Animal is eating.");
}
}
// 定义猫类,继承动物类Animal
class Cat extends Animal {
public Cat() {}
public Cat(String name, int age) {
super(name, age);
}
@Override
public void eat() {
System.out.println("Cat is eating fish.");
}
@Override
public void jump() {
System.out.println("Cat is jumping high.");
}
}
// 定义狗类,继承动物类Animal
class Dog extends Animal {
public Dog() {}
public Dog(String name, int age) {
super(name, age);
}
@Override
public void eat() {
System.out.println("Dog is eating meat.");
}
@Override
public void jump() {
System.out.println("Dog is jumping high.");
}
}
```
这段代码中,我们定义了一个跳高接口 JumpInterface,其中有一个 jump() 方法。然后我们定义了一个动物类抽象类 Animal,它实现了 JumpInterface 接口,并有姓名和年龄两个成员变量,以及一个吃饭的方法 eat()。接着我们定义了猫类 Cat 和狗类 Dog,它们都继承了 Animal 类,并重写了 eat() 和 jump() 方法,其中猫会吃鱼,狗会吃肉,它们都能跳高。
如果您有任何问题,可以随时问我。
阅读全文