python学习35:多态

不羁岁月 提交于 2020-01-29 17:56:03
  • 多态(以封装和继承为前提);
  • 不同的子类对象调用相同的方法 产生不同的执行结果。
class Dog(object):
    def __init__(self,name):
        self.name = name
    def game(self):
        print('%s 开心的玩耍~' %(self.name))

class Gaifei(Dog):
    # 父类的方法不能满足子类的需求 重写game方法
    def game(self):
        print('%s和米老鼠一起玩~' %(self.name))


class Person(object):
    def __init__(self,name):
        self.name = name
    def game_with_dog(self,dog):
        print('%s和%s玩~' %(self.name,dog.name))
        dog.game()

# 创建一个狗对象
wangcai = Dog('大黄')
gou = Gaifei('高飞')
# 创建一个人对象
xiaoming = Person('小明')

# 让小明和狗玩
xiaoming.game_with_dog(wangcai)
xiaoming.game_with_dog(gou)

在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!