Python 继承

1、单继承

单继承
运行结果

子类在继承的时候,在定义类时,小括号()中为父类的名字,父类的属性、方法,会被继承给子类。虽然子类没有定义__init__方法,但是父类有,所以在子类继承父类的时候这个方法就被继承了,所以只要创建对象,就默认执行了那个继承过来的__init__方法。

私有的属性,不能通过对象直接访问,但是可以通过方法访问

私有的方法,不能通过对象直接访问

私有的属性、方法,不会被子类继承,也不能被访问

一般情况下,私有的属性、方法都是不对外公布的,往往用来做内部的事情,起到安全的作用。

2、多继承

Python不仅支持单继承,同时还支持多继承

多继承
运行结果

要想实现多继承,只需在子类的小括号中写多个父类即可。

当父类中有同名方法时如何调用。

例:多个父类中有同名方法

多个父类中有同名方法
运行结果

通过类对象的__mro__属性能够查看子类的继承顺序。

例:查看子类的继承顺序

查看子类的继承顺序
运行结果

子类会按照继承顺序查找要调用的方法或者属性,如果在一个类中找到了,就会停止向上寻找,如果始终没有找到,则会抛出异常。

3、子类重写父类方法

当子类中定义了一个与父类方法名相同的方法时,就会重写父类方法。

例:子类重写父类方法

子类重写父类方法
运行结果

4、子类调用父类方法

子类调用父类方法
运行结果

子类如果需要调用父类方法,需要使用super()来指明调用父类方法。

你可能感兴趣的:(Python 继承)