python(类多态)

一、多态
  •  (以封装和继承为前提)不同的子类调用相同的方法,产生不同的结果
class Dog():
    def __init__(self,name):
        self.name = name
    def game(self):
        print('%s 蹦蹦跳跳的玩耍...' %self.name)

class Xiaotianquan(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))

#  1).创建一个狗对象
wangcai = Dog('旺财')
# wangcai = Xiaotianquan('飞天神狗')

#  2).创建一个小明对象(小明是一个人)
xiaoming = Person('小明')

#  3).让小明和狗玩
xiaoming.game_with_dog(wangcai)
原文地址:https://www.cnblogs.com/ZhengYing0813/p/12425067.html