在不同文件上实现多态身份的解决方法是通过使用类的继承和多态性来实现。下面是一个示例代码,演示了如何在不同文件上实现多态身份:
文件:animal.py
class Animal:
def __init__(self, name):
self.name = name
def speak(self):
pass
class Dog(Animal):
def speak(self):
return "Woof!"
class Cat(Animal):
def speak(self):
return "Meow!"
文件:main.py
from animal import Dog, Cat
def main():
dog = Dog("Buddy")
cat = Cat("Whiskers")
animals = [dog, cat]
for animal in animals:
print(animal.name + ": " + animal.speak())
if __name__ == '__main__':
main()
在这个示例中,animal.py
文件定义了一个Animal
类,以及Dog
和Cat
类作为Animal
类的子类。每个子类都重写了Animal
类的speak()
方法,以实现各自的叫声。
在main.py
文件中,我们导入了Dog
和Cat
类,然后创建了一个Dog
和一个Cat
对象。我们将这些对象放入一个列表中,并迭代列表中的每个对象。在每次迭代中,我们使用animal.speak()
方法来调用适当的子类的speak()
方法,并打印出叫声。
这样,我们就实现了在不同文件上的多态身份。无论Animal
的子类是在哪个文件中定义的,我们都可以使用相同的方式来调用它们的方法,并根据实际子类的类型来执行适当的操作。
上一篇:不同文件名相同重定向的重写规则
下一篇:不同文件上的相同包名