天天看點

多态的案例示範

# pcj
class Dog(object):
    def __init__(self,name):
        self.name=name

    def run(self):
        print("%s隻會普通的玩"% self.name)

class XiaoTiaoDog(Dog):
    def run(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.run()
#1 建立一個狗對象
# wangcai=Dog("旺财")
wangcai=XiaoTiaoDog("飛旺财")
# 2、建立一個小明對象
xiaoming=Person("小明")

#3、讓小明和狗玩的方法
xiaoming.game_with_dog(wangcai)      

轉載于:https://www.cnblogs.com/pcjbk/p/11235005.html