Python类的继承

《Python类的继承》

简介

类的继承可以看成对类的属性和方法的重用,能够大大的减少代码量。这在项目开发中非常常见。本文将为大家介绍类的继承相关知识。

父类和子类

父类和子类的概念非常好理解,从遗传的观点来看,子类继承父类的所有属性和方法。并且,子类能够自定义更多的属性和方法,对原来的父类不会产生任何影响。这可以让程序员将更多的精力放在新功能的开发上面,而不用过多纠结从头开始编写功能。

单继承

所谓单继承,就是只有一个父类的继承方式,它的格式如下:

我们在这里定义了两个类(A和B),此时A是父类,B是子类。在B的()中放入A,表示B继承了A的属性和方法。并且,B类中定义了自己的方法b,比如:

输入以下程序:

当子类B继承了父类A之后,子类B就拥有了父类A中的所有属性和方法,并且在子类B中,仍然可以拥有自己的方法。如果子类B中的属性和方法跟父类的属性和方法有重复怎么办?看下面的例子:

子类B中也定义和父类A中相同名字的属性和方法,它的结果为:

可以看出,当子类B中的属性和方法与父类A中的属性和方法名字重复的时候,子类B就会将父类A中继承过来的同名属性和方法替换掉,以子类B中新定义的同名属性和方法为准。并且不会影响父类A中的同名属性和方法。

多继承

多继承就是继承了多个父类的属性和方法,它的格式如下:

上面的代码表示类C继承了类A和类B 的属性和方法。此时类C为子类,类A和类B为父类。举个例子:

我们定义了三个类,其中C继承了A和B。实现以下程序:

需要注意的是,首先三个类中都有属性name,最后对象c1调用的是子类C的属性name;当父类A和B中都有方法speak()的时候,对象c1调用的是优先继承的父类A中的speak()方法,这点非常重要。上面的类C如果改成:

那么结果为:

此时就是先继承了父类B中的speak()方法。

总结

我们详细地介绍了继承的概念,子类会继承父类所有的属性和方法,并且子类能够拥有自己的属性和方法;单继承中只有一个父类,而多继承中有多个父类;当子类的属性和方法与父类的属性和方法名称重复时,以子类的属性和方法为准;当继承的多个父类中都有相同名称的属性和方法时,会优先继承写在前面的父类的重名属性和方法。通过类的继承能够扩大项目的功能,在原有功能的基础上能够增加新的功能,并且不会对原有功能产生影响。

点赞

发表评论

邮箱地址不会被公开。 必填项已用*标注