已知有如下Animal抽象类和IAbility接口,请编写Animal子类Dog类与Cat类,并分别实现IAbility接口,另外再编写一个模拟器类Simulator调用IAbility接口方法,具体要求如下。
时间: 2024-03-17 21:45:03 浏览: 21
好的,我可以为您解答这个问题。以下是代码示例:
Animal抽象类:
```java
public abstract class Animal {
protected String name;
protected int age;
protected String gender;
public Animal(String name, int age, String gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
public abstract void eat();
}
```
IAbility接口:
```java
public interface IAbility {
void run();
void jump();
}
```
Dog类:
```java
public class Dog extends Animal implements IAbility {
public Dog(String name, int age, String gender) {
super(name, age, gender);
}
@Override
public void eat() {
System.out.println(name + " is eating bones.");
}
@Override
public void run() {
System.out.println(name + " is running.");
}
@Override
public void jump() {
System.out.println(name + " is jumping.");
}
}
```
Cat类:
```java
public class Cat extends Animal implements IAbility {
public Cat(String name, int age, String gender) {
super(name, age, gender);
}
@Override
public void eat() {
System.out.println(name + " is eating fish.");
}
@Override
public void run() {
System.out.println(name + " is running.");
}
@Override
public void jump() {
System.out.println(name + " is jumping.");
}
}
```
Simulator模拟器类:
```java
public class Simulator {
public static void main(String[] args) {
Dog dog = new Dog("Tom", 3, "Male");
Cat cat = new Cat("Lily", 2, "Female");
dog.eat();
dog.run();
dog.jump();
cat.eat();
cat.run();
cat.jump();
}
}
```
运行Simulator类的main方法,会输出如下结果:
```
Tom is eating bones.
Tom is running.
Tom is jumping.
Lily is eating fish.
Lily is running.
Lily is jumping.
```
这个示例程序实现了Animal抽象类和IAbility接口,并在Dog类和Cat类中分别实现了IAbility接口的方法。Simulator模拟器类调用了这些方法,模拟了狗和猫的行为。