python小白實現對鴨子類型的簡單模擬

本博文源於python基礎,旨在對鴨子類型進行簡單的模擬。

鴨子類型

所謂的鴨子類型就是根據對象的當前方法和屬性集合決定,而不是根據繼承自特定的類與接口設定。 在實際的程序設計中,通常不測試方法和函數中參數的類型,而是依賴文檔、清晰的代碼和測試來確保正確使用。

例子:模擬鴨子類型,實現對象的多態

實例模擬了鴨子、貓和樹。因爲樹木沒有這種叫的方法,因此它就會報錯。

實驗效果

在這裏插入圖片描述

實驗代碼

class Duck(object):
    def __init__(self, name='duck'):
        self.name = name

    def quack(self):
        print('嘎嘎嘎....')


class Cat(object):
    def __init__(self, name='cat'):
        self.name = name

    def quack(self):
        print('喵喵喵....')


class Tree(object):
    def __init__(self, name='tree'):
        self.name = name

def duck_demo(obj):
    obj.quack()


if __name__ == '__main__':
    duck = Duck()
    cat = Cat()
    tree = Tree()
    duck_demo(duck)
    duck_demo(cat)
    duck_demo(tree)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章