已知有如下Animal抽象类和IAbility接口,请编写Animal子类Dog类与Cat类,并分别实现IAbility接口,另外再编写一个模拟器类Simulator调用IAbility接口方法,具体要求如下。
时间: 2024-03-23 11:41:41 浏览: 181
好的,我会遵守您的要求。下面是代码实现:
```java
// Animal抽象类
public abstract class Animal {
protected String name;
protected int age;
public Animal(String name, int age) {
this.name = name;
this.age = age;
}
public abstract void eat();
}
// IAbility接口
public interface IAbility {
void run();
void swim();
}
// Dog类,继承Animal抽象类并实现IAbility接口
public class Dog extends Animal implements IAbility {
public Dog(String name, int age) {
super(name, age);
}
@Override
public void eat() {
System.out.println(name + "正在啃骨头");
}
@Override
public void run() {
System.out.println(name + "正在快乐奔跑");
}
@Override
public void swim() {
System.out.println(name + "正在畅游水中");
}
}
// Cat类,继承Animal抽象类并实现IAbility接口
public class Cat extends Animal implements IAbility {
public Cat(String name, int age) {
super(name, age);
}
@Override
public void eat() {
System.out.println(name + "正在吃鱼");
}
@Override
public void run() {
System.out.println(name + "正在优雅地奔跑");
}
@Override
public void swim() {
System.out.println(name + "不太喜欢水,不会游泳");
}
}
// 模拟器类,调用IAbility接口方法
public class Simulator {
public static void main(String[] args) {
Dog dog = new Dog("旺财", 3);
Cat cat = new Cat("咪咪", 2);
dog.eat();
dog.run();
dog.swim();
cat.eat();
cat.run();
cat.swim();
}
}
```
以上代码实现了Animal抽象类、IAbility接口、Dog类和Cat类的定义,并在Simulator类中调用了IAbility接口的方法。请注意,Dog类和Cat类都继承了Animal抽象类,并实现了IAbility接口中的方法。在Simulator类中,我们创建了一个Dog对象和一个Cat对象,并分别调用它们的eat()、run()和swim()方法。
阅读全文