鸭子类型

1.什么是鸭子类型?
不同的对象,只要长得像鸭子,动作行为像鸭子,那它就是鸭子!

鸭子类型是多态的一种表现形式。

2.为什么要有鸭子类型?
不同对象,先抽象出相同类型的方法,给他们定制一套统一的规范。
所有的类,在定义时都按照统一的规范进行编写。

- 多态的三种表现形式:
- 继承父类 ****
- 耦合度高,程序的可扩展性低

- 继承抽象类 ***
- 耦合度极高,程序的可扩展性极低

- 鸭子类型: *****
- 耦合度低,程序的可扩展性高

注意: 在python中,强烈推荐使用鸭子类型。
# 猪类
class Pig:
    def eat(self):
        print('bia唧...')

    def speak(self):
        print('哼哼哼...')


# 猫类
class Cat:
    def eat(self):
        print('咬ji 咬ji....')

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


# 狗类
class Dog:
    def eat(self):
        print('舔 ji 舔ji...')

    def speak(self):
        print('汪汪汪...')

  

 
posted @ 2019-11-28 18:39  Parado  阅读(275)  评论(0编辑  收藏  举报