多继承

- 多继承

class A:   #妈妈类
    # def __init__(self,name,age):
    #     self.name = name
    #     self.age = age

    def chi(self):
        return "做饭很好吃"

    def huaqian(self):
        print('花钱买化妆品')


class B:   #爸爸类
    def chi(self):
        return '做饭很难吃'

    def zhuangqian(self):
        return '很有能力'

    def huaqian(self):
        print('花钱')


class C(A, B):   #儿子类,多继承
    # def zhuangqian(self):  #重写/覆盖,方法与继承的类的方法重名的话,就是重写,
    #     return '更强能力'
    def huaqian(self):   #重写如何拿取继承的类的重名方法
        super().huaqian()  #按照搜索顺序找,
        B.huaqian(self)   #需要传参调用


c = C()   #搜索顺序,
# print(c.chi())  #(A,B)搜索顺序从左到右,先A后B,
# print(c.zhuangqian())  #若自己有的方法,会先拿取自己的,
c.huaqian()
#访问方向,先自己,后继承的左到右

print(C.__mro__)  #查看属性和方法的顺序
print('-------------')

#原始的动物
#人类,动物-->都可以继承原始动物


class Base:
    def __init__(self,name,age):
        self.name = name
        self.age = age

    def chi(self):
        return "chidongxi"

    def pao(self):
        return "paobu"


#人类
class People(Base):
    def __init__(self,name,age,sex):
        super().__init__(name,age)
        self.sex = sex

    def shangban(self):
        return "%shaohaoshangban"%self.name

    def zhuangqian(self):
        return "%shaohaozhuangqian"%self.name


#动物类
class Animal(Base):
    def __init__(self, name,age,weight):
        super().__init__(name,age)
        self.weight = weight

    def gongji(self):
        return "%sgongji"%self.weight

p = People('aaa',23, 'F')
print(p.shangban())

a = Animal('zz',3,'333g')
print(a.pao())

花钱买化妆品
花钱
(<class '__main__.C'>, <class '__main__.A'>, <class '__main__.B'>, <class 'object'>)
-------------
aaahaohaoshangban
paobu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值