天天学Python(一)—鸭子模型

    xiaoxiao2022-07-13  167

    前言:很早之前看过Python,鉴于遗忘太快,以此记之

    鸭子模型: 一个对象只要“看起来像鸭子,走起路来像鸭子”,那它就可以被看做是鸭子

    这是动态语言奇妙的地方

    看下面的代码:

    # 动物 class Animal(object): def __init__(self, name): self.name = name #成员变量 def run(self): print(self.name, 'Animal is running !') # 鸭子 class Duck(Animal): def run(self): print('Duck is running...') # 任一具有run方法的类 class Similar(): def __init__(self, name): self.name = name #成员变量 def run(self): print(self.name, "相似也能Run!")

    三个类,其中鸭子是动物的子类,Similar是一个具有run方法的类 看下测试run()方法

    def runTest(animal): animal.run() # 有run方法的类都能调用 animal = Animal('动物') runTest(animal) dog = Dog('狗狗') runTest(dog) duck = Duck('鸭子') runTest(duck) similar = Similar('任意') runTest(similar)

    将Similar类传入runTest(),也能执行,这就是鸭子模型

    最新回复(0)