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

Posted jack-zh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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())

运行结果:

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

以上是关于Python入门-6面向对象编程:09多态的主要内容,如果未能解决你的问题,请参考以下文章

Python3快速入门Python3面向对象

Python3快速入门——Python3面向对象

Python入门-6面向对象编程:01面向对象和面向过程区别-对象的进化

Python 入门 之 面向对象的三大特性(封装 / 继承 / 多态)

Python入门之面向对象的多态和继承

Python基础-第六天-面向对象编程