鸭子类型

Posted lvguchujiu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了鸭子类型相关的知识,希望对你有一定的参考价值。

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(‘汪汪汪...‘)

  

 

以上是关于鸭子类型的主要内容,如果未能解决你的问题,请参考以下文章

鸭子类型

python 鸭子类型

Python面向对象之鸭子类型

Python中鸭子类型

鸭子类型

3.1鸭子类型和多态