day_17 面向对象的继承属性

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)经典类: 遵循深度优先.

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

新式类广度优先理解图:

                                                  

               

  

    

猜你喜欢

转载自www.cnblogs.com/laogao123/p/9368356.html
今日推荐