• 继承,多态,接口


    微博方面
    1.继承是一种创建新类的方式,在python中,新建的类可以继承一个或者多个
    父类,又可称为基类或超类,新建类称为派生类或者子类
    2.继承分为单继承和多继承
    3.查看继承需要用__bases__方法
    object是所有类的基类

    多态
    1.多态指一切事物有多种形态
    动物形态有:人 狗 猪
    from abc import ABCMeat,abscractmethod
    class Animal(metaclass=ABCMeta):
    @abscractmethod
    def talk(self):
    pass
    class People(Animal):
    def talk(self):
    print("hello")
    class Dog(Animal):
    def talk(self):
    print("wangwang")

    2.多态的使用不用考虑实例的类型,从而使用实例
    peo=People()
    dog=Dog()
    不必考虑类型直接使用.
    peo.talk()
    dog.talk()
    使用接口
    def func(obj):
    obj.talk()

    书籍方面
    begging python from novice to professional
    P113多态
    7.11
    就算不知道变量所引用的对象类型是什么,还是能对他进行操作,而他也会根据对象(或者类)
    类型的不同和表现出不同的行为.
    对象可以自己进行操作

    1.多态和方法
    程序接收一个对象,完全不了解该对象的内部实现方式---他可能有多种"形状".
    多态和方法相似,只要有个参数值,返回值就可以了,并不用检测类型
    2.多态的多种形式
    任何不知道对象到底是什么类型,但是又要对对象做点什么的时候,都会用到多态
    repr函数是多态的代表之一 返回一个字符串供解释器读取
    repr([123])#结果为"[123]"

    毁掉多态
    1.用type isinstance issubclass 函数查看数据类型.

    封装
    封装是指向程序中的其他部分隐藏对象的具体实现细节的原则.


    继承

    继承目的是减少代码

    类的命名空间

    查看父类运用__bases__


    查看子类用 issubclass 查看一个类是否是另一个类的子类.
    isinstance方法用于检查一个对象是否是一个类的实例

    __class__可以查看一个对象属于哪个类


    mro广度算法来判定访问超类的顺序


    接口
    在处理多态的对象时,只要关心他的接口(或者称协议)即可

  • 相关阅读:
    python datetime,字符串,时间戳相互转换
    python在linux环境读取access数据库mdb文件
    ruby 随机字符串rand方法避坑
    gin 页面重定向
    go语言 goquery爬虫
    Rails项目防止时序攻击
    Authorization With Pundit
    Rails/ActiveRecord order by Array
    java线程池
    Java安全API
  • 原文地址:https://www.cnblogs.com/cangshuchirou/p/8530417.html
Copyright © 2020-2023  润新知