码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2019-05-12 01:47:00      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:中国   生活   print   方法   cat   不同   lsh   def   运行   

多态:

  多态(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多态

标签:中国   生活   print   方法   cat   不同   lsh   def   运行   

原文地址:https://www.cnblogs.com/jack-zh/p/10849761.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!