码迷,mamicode.com
首页 > 其他好文 > 详细

鸭子类型

时间:2019-11-28 19:05:55      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:类型   int   动作   注意   python   继承   Speak   不同的   def   

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

  

 

鸭子类型

标签:类型   int   动作   注意   python   继承   Speak   不同的   def   

原文地址:https://www.cnblogs.com/lvguchujiu/p/11952822.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!