设计一个基类可以完成思考、吃和睡,通过继承完成人、马和猫的思考、吃和睡,通过比例化对人、马和猫的各个动作的调用
时间: 2024-09-27 21:16:59 浏览: 21
设计这样一个基类,我们可以称之为`Animal`,它包含三个通用的行为:`think()`, `eat()`, 和 `sleep()`。然后分别创建三个派生类,`Human`, `Horse`, 和 `Cat`,它们都是`Animal`的子类:
```java
// 基类 Animal
class Animal {
public void think() {
System.out.println("动物正在思考...");
}
public void eat() {
System.out.println("动物正在进食...");
}
public void sleep() {
System.out.println("动物正在睡觉...");
}
}
// 派生类 Human
class Human extends Animal {
@Override
public void think() {
System.out.println("人类在深思...");
}
// 可能需要实现个性化吃的方式
// 这里暂未列出,因为题干中没有明确提到
}
// 派生类 Horse
class Horse extends Animal {
@Override
public void think() {
System.out.println("马儿在嚼草...");
}
// 同理,这里省略了horse的进食方式实现
}
// 派生类 Cat
class Cat extends Animal {
@Override
public void think() {
System.out.println("猫咪在打盹...");
}
// 猫咪的吃饭方式不同于人和马
// 这里同样未列出,需要具体的实现
}
// 使用比例化调用各个动作
public class Main {
public static void main(String[] args) {
Animal human = new Human();
Animal horse = new Horse();
Animal cat = new Cat();
human.think(); // 输出 "人类在深思..."
horse.eat(); // 输出 "马儿在嚼草..." (假设实现了)
cat.sleep(); // 输出 "猫咪在打盹..."
}
}
```
在这个例子中,每个派生类都有其特定的思考方式,同时共享基础的吃和睡行为。当我们通过`Animal`类型的引用去调用这些方法时,会动态地调用相应子类的具体实现。