zoukankan      html  css  js  c++  java
  • 多态

    多态

      多态是oop的三大特征之一   

      字面意思:多种形态多种状态   

      一个事物具备多种形态   

      列如:水 具备水蒸气 冰   

      官方:不同对象可以响应(调用)同一个方法产生不同的结果   

      多态不是新的技术 我们再编写面向对象的程序时 其实就有多态存在   

      对于对象的使用者而言无需关心对象的具体实现甚至不用关心具体类型   

      极大降低了使用难度

    鸭子类型

      python不会强行限制必须干或者不干什么   

      就比如封装中的私有属性 你也是可以强行访问的   

      同理再多态中 子类中你可以不使用ABC模块   

      python崇尚鸭子类型   

      如果一个对象长得像鸭子叫声像鸭子走路像鸭子那么他就是鸭子

    常用的内置方法

    isinstance

      判断一个对象是否时一个类的实例

    issubclass

      判断一个类是否是一个类的子类     

      参数1是 儿子 参数2 是老子

    __str__

      打印对象是自动触发     

      可以用于定制对象的打印格式会在print对象自动触发

    __del__

      对象从内存中被删除时自动触发执行       

        1.程序运行完毕时       

        2.手动调用del       

        作用:用于做一些清理操作 比如开启文件资源 就需要手动关闭       

        使用场景:当你的对象在创建时同时开启了不属于解释器的资源       

        就需要在del中手动关闭     

      也称之为析构函数

    反射(反省)

      一个对象具备可以修改自身属性即方法的能力     

      从代码级别来看 反射就是通过字符串来操作对象的属性     

        hasattr 是否存在属性     

        getattr 获取某个属性       

        setattr 设置或修改属性     

        delattr 删除某个属性

     

  • 相关阅读:
    C++11:02decltype关键字
    git 源操作,分支操作
    git操作命令以及优点
    drf--序列化组件
    项目相关 --知识点
    vue框架:
    drf --解析器,异常模块,响应模块 序列化组件
    drf框架相关
    中间键 csrf跨站请求伪造 装饰器相关 auth模块
    多对多表的创建方式 forms组件 session与cookie
  • 原文地址:https://www.cnblogs.com/ShenJunHui6/p/10412580.html
Copyright © 2011-2022 走看看