day06-3-python-面向对象-多态

  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)
  • 输出结果:
    旺旺
    喵喵
    喵喵
    旺旺

posted @ 2017-10-30 23:22  雷大侠!  阅读(103)  评论(0编辑  收藏  举报