Python3萌新入门笔记(28)

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

这一篇教程是关于类的最后一部分内容。

八、多继承(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。

借用上面的学生类,我们进行特性的检查。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值