1.创建动物类(Animal),为动物设置名字(name)属性并定义初始化方法。创建运动方法run(),输出内容为: "XXX(名字)是动物,会运动。" 2.使用继承机制,创建Animal类的两个子类:狗(Dog)类和鸟(Bird)类。 Dog类有描述四肢的属性(legs),Bird类有描述羽毛的属性(feather),分别为它们新增上述已描述的属性,保留父类定义的属性并初始化所有属性。 3.使用方法重写,分别将Dog类和Bird类继承自Animal的两个方法重写:描述当前类的各个属性以及run()方法。 run()输出的内容分别为: XXX(名字)是一只小狗,有XXX(四肢),会奔跑。 XXX(名字)是一只小鸟,有XXX(羽毛颜色)的翅膀,会飞翔 例: dog = Dog("旺旺","四条腿") dog.run() bird = Bird("喳喳","白色羽毛") bird.run() 4.使用多态,创建一个类外的函数(doing()),为其传入一个类的实例对象参数(需要保证能够传入Dog类和Bird类。使其调用两次传入对象的run()方法。
时间: 2024-02-05 11:12:19 浏览: 117
以下是代码实现:
```python
# 创建Animal类
class Animal:
def __init__(self, name):
self.name = name
def run(self):
print(f"{self.name}是动物,会运动。")
# 创建Dog类,继承自Animal类
class Dog(Animal):
def __init__(self, name, legs):
super().__init__(name)
self.legs = legs
def run(self):
print(f"{self.name}是一只小狗,有{self.legs}条腿,会奔跑。")
# 创建Bird类,继承自Animal类
class Bird(Animal):
def __init__(self, name, feather):
super().__init__(name)
self.feather = feather
def run(self):
print(f"{self.name}是一只小鸟,有{self.feather}的羽毛,会飞翔。")
# 创建doing函数,实现多态
def doing(animal):
animal.run()
# 测试代码
dog = Dog("旺旺", "四条腿")
bird = Bird("喳喳", "白色羽毛")
doing(dog)
doing(bird)
```
输出结果:
```
旺旺是一只小狗,有四条腿,会奔跑。
喳喳是一只小鸟,有白色羽毛的羽毛,会飞翔。
```
阅读全文