(一)Python入门-6面向对象编程:09多态

多态:

  多态(polymorphism)是指同一个方法调用由于对象不同可能会产生不同的行为。在现实 生活中,我们有很多例子。比如:同样是调用人的休息方法,张三的休息是睡觉,李四的休 息是玩游戏,程序员是敲代码。同样是吃饭的方法,中国人用筷子吃饭,英国人用刀叉吃 饭,印度人用手吃饭。

  关于多态要注意以下2点:

    1. 多态是方法的多态,属性没有多态。

    2. 多态的存在有两个必要条件:继承、方法重写。

【操作】

#多态
class Animal:
    def shout(self):
        print('动物叫了一声')

class Dog(Animal):
    def shout(self):
        print('小狗,汪汪汪!!!')

class Cat(Animal):
    def shout(self):
        print('小猫,喵喵喵!!!')

def animalShout(a):
    if isinstance(a,Animal):
        a.shout()    #传入的对象不同,shout方法对应的实际行为也不同

animalShout(Cat())
animalShout(Dog())

运行结果:

  小猫,喵喵喵!!!
  小狗,汪汪汪!!!

posted on 2019-05-11 23:37  JACK#zhang  阅读(188)  评论(0编辑  收藏  举报