写一个多态的示例代码,要求:代码要能够体现多态的特点,代码要创新,输出的文字要求是中文
时间: 2024-05-06 20:21:51 浏览: 9
好的,关于多态的示例代码,我可以给你一个简单的例子来说明多态的特点:
首先,我们可以创建一个名为Animal的父类,其中包含了一个move()方法,用来表示动物的移动方式。然后,我们再创建两个子类Dog和Cat,它们分别继承了Animal类,并重新定义了move()方法。
接下来,我们可以创建一个名为Zoo的类,用来管理我们的动物。在这个类中,我们可以定义一个addAnimal()方法,用来添加动物到动物园中;以及一个moveAll()方法,用来让所有的动物都按照它们自己定义的移动方式移动。
当我们在添加动物的时候,我们可以传入具体的动物实例,而不是指定它们是什么类型的动物。这就体现了多态的特点,即同一类型的不同对象可以具有不同的行为。
下面是这个示例代码:
```
class Animal:
def move(self):
pass
class Dog(Animal):
def move(self):
print("狗在跑")
class Cat(Animal):
def move(self):
print("猫在爬")
class Zoo:
def __init__(self):
self.animals = []
def addAnimal(self, animal):
self.animals.append(animal)
def moveAll(self):
for animal in self.animals:
animal.move()
zoo = Zoo()
zoo.addAnimal(Dog())
zoo.addAnimal(Cat())
zoo.moveAll()
```
这段代码中,我们创建了一个动物园Zoo,并在其中添加了一只狗和一只猫。当我们调用moveAll()方法时,它们会分别按照自己的方式移动,即狗会跑,猫会爬。
这就是多态的体现,同样是Animal类型的两个子类,它们的行为却完全不同。这可以让我们的程序更加灵活和可扩展,因为我们可以随时添加其他类型的动物,而不需要修改原有的代码。