zoukankan      html  css  js  c++  java
  • python 多态

    面向对象语言的三大特性

    1、继承

    2、多态

    5、封装

    一、多态

    1、定义

    一个类的多种形态,如一个文件的格式可以是txt、word、excel等

    2、python天生多态

    python是动态的强制类型语言,数据类型不需要定义,在归一化的过程中不需要定义一个类,让其它类继承,来解决数据类型的不同

    class Alipay():
        def pay(self,money):
            print('已经用支付宝支付了%s元' % money)
    
    class Applepay():
        def pay(self,money):
            print('已经用applepay支付了%s元' % money)
    
    def pay(pay_obj,money):  # 统一支付入口  归一化设计
        pay_obj.pay(money)
    
    pay()

    二、鸭子类型

    1、定义

    两个类相似,并且不是继承的兄弟关系

    2、优点

    解耦,松耦合;两个类互相独立,互不影响;没有规范要求

    3、缺点

    太随意,全靠自觉

    4、例子

    list和tuple,类型相似,但是没有使用继承,而是使用鸭子类型

    PS:

    1、python主推鸭子类型

    2、接口类和抽象类在python中是不必要条件

    3、多态在python中也不是很重要,因为python天生多态

     
  • 相关阅读:
    jquery-scrollstop
    Grunt usemin
    HTML5 之文件操作(file)
    启动mongodb bat
    判断是否支持WebP
    前端攻略系列(一)
    impress.js初体验
    JS应用实例3:定时弹出广告
    JS应用实例2:轮播图
    JS应用实例1:注册页面表单校验
  • 原文地址:https://www.cnblogs.com/wt7018/p/10933556.html
Copyright © 2011-2022 走看看