python设计一个基类可以完成思考、吃和睡,通过继承完成人、马和猫的思考、吃和睡,通过比例化对人、马和猫的各个动作的调用
时间: 2024-09-27 20:17:16 浏览: 22
在Python中,你可以创建一个名为`Animal`的基类,它包含通用的行为如`think()`, `eat()` 和 `sleep()`。然后,你可以为人类(`Human`)、马(`Horse`)和猫(`Cat`)这三个类分别继承自`Animal`并提供各自的特性和行为。
```python
class Animal:
def think(self):
print(f"{self.__class__.__name__} is thinking.")
def eat(self):
print(f"{self.__class__.__name__} is eating.")
def sleep(self):
print(f"{self.__class__.__name__} is sleeping.")
# 继承Animal类并添加特性
class Human(Animal):
def __init__(self):
self.name = "Person"
def think(self):
super().think()
print(f"{self.name} thinks deeply.")
class Horse(Animal):
def __init__(self):
self.name = "Horse"
def eat(self):
super().eat()
print(f"{self.name} chomps on hay.")
class Cat(Animal):
def __init__(self):
self.name = "Kitty"
def sleep(self):
super().sleep()
print(f"{self.name} naps soundly.")
# 创建实例并应用各自的行为
human = Human()
human.think() # 输出: Person thinks deeply.
human.eat() # 输出: Person is eating.
horse = Horse()
horse.sleep() # 输出: Horse is sleeping.
cat = Cat()
cat.eat() # 输出: Kitty is eating.
```
在这个例子中,每个子类都按照自己的方式实现了`think()`, `eat()` 和 `sleep()`,体现了多态性,即虽然共享了相同的名称,但实际行为根据子类的不同而有所区别。