这一篇教程是关于类的最后一部分内容。
八、多继承(Multiple Inheritance)
注意:不要和多重继承搞混,多重继承是指C继承B,B继承A这样的继承形式。
示例代码:(多重继承)
class A:
pass
class B(A):
pass
class C(B):
pass
多继承是指类能够继承自多个超类。
所以,在上一篇教程我们在使用__bases__特性时,能够看到bases是一个复数。
多继承的使用很简单,只需要在来名称后面的括号中写入超类的名称并用逗号分隔即可。
示例代码:(多继承)
class A:
pass
class B:
pass
class C(A,B):
pass
不过要注意,当多个超类都具有相同的特性时,只会继承第一个(最左侧)超类中的特性。
在现实生活中,有很多这种情况,例如小学生既是学生又是儿童。
就像下面这段代码。
示例代码:
class Children: # 创建儿童类
age = 10
def activitie(self): # 定义活动方法
print('我周末去儿童游乐园玩!')
class Student: # 创建学生类
grade = 3
def activitie(self): # 定义活动方法
print('我每天放学在家写作业!')
class Pupil(Children, Student): # 创建小学生类
def __init__(self):
print('我今年%d岁,已经上%d年级啦!' % (self.age, self.grade))
p = Pupil() # 显示输出结果为:我今年10岁,已经上3年级啦!
p.activitie() # 显示输出结果为:我周末去儿童游乐园玩!
九、检查对象的特性
如果想知道一个对象是否具有某个特性,可以使用hasattr(o,name)函数,当包含指定特性的名称时,返回值为True;否则,为False。
借用上面的学生类,我们进行特性的检查。

这篇教程讲解了Python3中的多继承、检查对象特性及多态。多继承允许一个类继承自多个超类,多态则指不同类的对象共享相同的接口,调用时表现出不同行为。通过示例展示了如何利用多态提高代码的复用性和扩展性。
最低0.47元/天 解锁文章
1866

被折叠的 条评论
为什么被折叠?



