python-面向对象(继承)

1、 python面向对象的继承指的是多个类之间的所属关系,即子类默认继承父类的所有属性和方法

python中,所有类默认继承object类,object类是顶级类或基类,其他子类叫做派生类

2、 单继承和多继承

单继承:一个类继承一个父类

多继承:一个类同时继承了多个父类

        当一个类有多个父类的时候,默认使用第一个父类的同名属性和方法(按顺序,从左到右继承)

3、 子类重写父类同名方法和属性

如果子类和父类拥有相同的属性和方法,默认使用子类里面的同名属性和方法

4、 类的层级关系:类名.__mro__

5、 子类调用父类的同名方法和属性

再次调用初始化的原因:这里想要调用父类的同名方法和属性,属性在init初始化位置,所以需要再次调用init

6、 多层继承

  多继承:C3算法

 

   查看一个类的继承关系方法:print(类.mro())

7、 super()调用父类方法

  有参数:super(当前类名, self).函数()

  无参数:super().函数()

  使用super()可以自动查找父类,调用顺序遵循__mro__类属性的顺序,比较适合单继承使用

8、 私有权限(不继承给子类)

  定义私有属性和方法:在属性名和方法名前面加两个下划线__

  私有属性和私有方法只能在类里面访问和修改

9、 获取和修改私有属性值

python中,一般定义函数名get__xx用来获取私有属性,

                        定义函数名set__xx用来修改私有属性值

posted @ 2021-02-28 15:41  riyuexiaoyao  阅读(189)  评论(0编辑  收藏  举报