1. 程式人生 > >python-面向對象-多態

python-面向對象-多態

ani -c 面向 icm class a __init__ 相同 cat 函數

  1. # 多態:一種接口,多種實現
  2. class Animal:
  3. def __init__(self,name):
  4. self.name=name
  5. def talk(self):
  6. print("Animal can talk")
  7. # 下處obj代表傳入不同的對象,調用對象相同的接口名
  8. @staticmethod
  9. def animal_talk(obj):
  10. obj.talk()
  11. class Cat(Animal):
  12. def talk(self):
  13. print( ‘喵喵‘)
  14. class Dog(Animal):
  15. def talk(self):
  16. print(‘旺旺‘)
  17. # 需要調用不同對象接口方法,表現不同行為
  18. d=Dog("大黃")
  19. d.talk()
  20. c=Cat("小白")
  21. c.talk()
  22. # 下面在animal父類中初始化一個方法,采用一個函數傳入不同對象,通過父類調用相同方法實現不同對象的接口
  23. Animal.animal_talk(c)
  24. Animal.animal_talk(d)
  • 輸出結果:
    旺旺
    喵喵
    喵喵
    旺旺

python-面向對象-多態