python学习35:多态

  • 多态(以封装和继承为前提);
  • 不同的子类对象调用相同的方法 产生不同的执行结果。
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)

在这里插入图片描述

发布了106 篇原创文章 · 获赞 1 · 访问量 2371

猜你喜欢

转载自blog.csdn.net/weixin_43384009/article/details/104107995