Python面向对象的三大特性是:封装、继承、多态。继承,子类可以拥有父类的所有属性和方法。我之前提到过单继承。每个子类只有一个父类的情况称为单继承。再来说说继承的另一种情况,多重继承。1.多重继承的概念和语法多重继承的概念:一个子类可以有多个父类,并且拥有父类的所有属性和方法例如:孩子会继承他爸爸妈妈的特性语法:class子类名(父类名1,父类名2...):pass代码经验:classA:deftest(self):print("testmethod")classB:defdemo(self):print("demomethod")classC(A,B):pass#创建子类对象c=C()c.test()c.demo()执行结果:多重继承的好处:子类对象可以有多个父类的属性和方法同时。继承这个特性是为了保证我们在开发过程中尽量不重复编写相同的代码,减少代码的冗余。如果已经开发了两个父类的代码,那么在实际开发中我们希望有一个类对象拥有两个父类的方法,可以创建一个继承多个父类的子类。2、使用多重继承的注意事项问题:如果在不同的父类中存在同名方法,子类对象在调用该方法时会调用哪个父类方法?在开发的时候,应该尽量避免这种混乱的情况。如果父类之间存在同名的属性或方法,则应尽量避免多重继承。代码体验:classA:deftest(self):print("A---testmethod")defdemo(self):print("A---demomethod")classB:defdemo(self):print("B---demomethod")deftest(self):print("B---testmethod")classC(A,B):pass#创建子类对象c=C()c.test()c.demo()执行结果:此时类C(A,B)中A在B之前,让子类继承A再继承B,那我们换个顺序:虽然我知道简单替换位置父类的,结果改变了。友情提示:具体调用父类的哪个方法在底层有特殊的处理方法,并不是简单的在代码中调整父类的顺序。下一篇基于本文的科普知识,分别是MROinPython-methodsearchorder,new-styleclassesandold-style(classic)classes。更多Python相关教程,可进入Python自学网(www.wakey.com.cn/)从基础入门免费课程开始,逐步学习python全栈系统课程,适合初学者精通全栈开发。
