• 面向对象的继承属性


    1,              面向对象的三大特征:            继承,多态,封装

    2:   定义一个类时,  括号里面的叫  ====>  父类,基类,超类            如:    class Person(Animal):

                                  括号外面的    ====>   子类,派生类.                                   pass

           父类的中__init__()方法中囊括了继承它的所有子类共同的属性,当然具体到子类中的对象也会有不同, 可以在自己的类中添加独有的属性

    3

    ,

                  子类以子类实例化的对象,可以访问父类的任何方法或变量

                  类名可以访问父类中的所有内容

                  子类实例化的对象也可以访问父类中的所有内容

    4:       只执行父类的方法:子类中不要定义与父类同名的方法

              只执行子类的方法:在子类创建这个方法.

              既要执行子类的方法,又要执行父类的方法   

              (1)  指名道姓的调用(用父类直接调用,与继承没有关系)     

           class Bird(Animal):

                    def __init__(self, name,sex,age,wing):                 ====>   起的是跳板传值的作用

        方法一         Animal.__init__(self, name, sex, age)              ====>通过父类加点加__init__()调用函数,注意括号内的参数,要挨个接受

        方法二         super().__init__(name,sex,age)                        =====>也可以同过supre()加点加__init__专门调用父类函数中的属                                                                                                         self.wing = wing                                                              理解:super()  得到的返回值是一个特殊对象,该对象调用时会自动传值给self,专门用来调用父类中的属性

           b1 = Bird('鹦鹉','公',20,'绿翅膀')                                                               super()加点加父类函数,  可以调用父类函数方法

    5:继承的进阶:     单继承====>继承一个父类                    多继承======>继承多个父类

        类的分类:       新式类:  凡是继承object类都是新式类            专属新式类的查询顺序   print(Cat.mro())

                                           python3x 所有的类都是新式类,因为python3x中的类都默认继承object.

                             经典类:不继承object类都是经典类

                                         python2x:(既有新式类,又有经典类) 所有的类默认都不继承object类,所有的类默认都是经典类.你可以让其继承object

    累的查询顺序:      单继承: 新式类,经典类查询顺序一样.

                                多继承:    (1)新式类: 遵循广度优先.

                                                     多继承的新式类  广度优先 : 一条路走到倒数第二级,判断,如果其他路能走到终点,则返回走另一条路.如果不能,则走到终点.        

                                                (2)经典类: 遵循深度优先.

                                                      深度优先 : 一条路走到底.

    新式类广度优先理解图:

                                                      

                   

      

        

  • 相关阅读:
    【Python 10】汇率兑换3.0(while循环)
    【Teradata SQL】十进制转换成二进制
    【Python 09】汇率兑换2.0-2(分支语句)
    【Python 08】汇率兑换2.0-1(字符串索引)
    【Python 07】汇率兑换1.0-2(基本元素)
    【Python 06】汇率兑换1.0-1(IPO与字符串转数字)
    【Teradata SQL】创建数据库和表
    mybatis源码分析之01环境搭建
    springboot2集成pagehelper
    Redis5离线安装
  • 原文地址:https://www.cnblogs.com/laogao123/p/9368356.html
Copyright © 2020-2023  润新知