• 多态与绑定方法


    多态

    1.什么是多态

    同一种类型的实物,不同的形态(名称相同,实现的功能不同)

    2,多态的目的:

    在不知道具体类型的情况下,统一对一堆对象的调用方法的规范

    如何实现使用方法统一(多态的表现形式)

    继承父类:

    -耦合度高,扩展性差

    直接继承,子类继承时需重名覆盖定义父类的属性或方法

    继承抽象类

    ​ -耦合度极高,扩展性极差 引用abc模块,

    父类需要继承metaclass = abc.ABCMeta

    父类中,需要装饰@ABC.abstractmethod

    从而使子类在继承父类如果不重名覆盖定义就会报错,

    在父类里边进行装饰的方法或属性必须被重名覆盖,不然会报错

    鸭子类型

    -耦合度低,扩展性强

    不需要模块限制,不需要父类继承,

    但是在定义的时候都按照统一的规范去编写

    绑定方法与非绑定方法:

    绑定方法:

    绑定给谁,就应该由谁来调用,谁来调用都将谁当做第一个参数传入

    1,绑定给对象的方法,类中定义得风寒束默认就是绑定给对象的

    2,绑定给累的方法,为类中的定义的函数加上一个装饰classmethod

    非绑定方法:

    即不与类绑定,也不与对象绑定,意味着对象和类都是可以调用的,无论谁来调用都是一个普通的函数吗,

    没有自动传值的效果方式是 @staticmethod

    注意:使用绑定(绑定对象或类)是由函数内部需要参数来源决定的,如果函数并不需要参数,就可以采用非绑定方法

    isinstance :判断一个对象是否是另一个类的实例

    issubclass:判断一个类是否是另一个类的子类

    反射:

    指的是通过字符串对对象的属性或方法进行操作

    hasattr:通过“字符串”判断对象的属性或方法是否存在

    getatter :通过“字符串”获取对象的属性或方法

    setatter :通过“字符串”设置对象的属性或方法

    delattr: 通过 “字符串” 删除对象的属性或方法

  • 相关阅读:
    wpf
    复联之程序员
    python批量重命名【截取文件名前六个字符 】
    xr报表调整
    jquery操作select取值赋值与设置选中[转]
    iframe 父页面与子页面之间的方法的相互调用【转】
    快速掌握Vue.js使用【转】
    解决非root用户使用docker的办法
    关于sentinel LDK加密war包实现应用加密的使用方法
    Windows安装Tomcat失败:Failed installing tomcat7 service
  • 原文地址:https://www.cnblogs.com/fxsm/p/11953233.html
Copyright © 2020-2023  润新知