Day-14继承

理解Python继承机制

1. 继承分为单继承和多继承两种

1.1单继承

class GF():
    name="爷爷"
    money=1000000
    def make(self):
        print("爷爷努力工作赚了很多钱")
gf=GF()
class F(GF):
    name = "爸爸"
f=F()
class Son(F):
    name="儿子"
son=Son()
print(son.name)
son.make()

1.2多继承(社会角度)

class Python():
    def luoji(self):
        print("语法阶段培养逻辑思路")
class Spider():
    def paqu(self):
        print("爬虫阶段学会了抓自己感兴趣的小姐姐图片")
class Think():
    def fenxi(self):
        print("数据分析阶段我学会了数据分析科学的方法")
class MySelf(Think,Spider,Python):
    pass
me = MySelf()
me.luoji()
me.paqu()
me.fenxi()

1.3多继承带来的BUG-菱形继承

class Human():
    def say(self):
        print("人类向天怒吼:人定胜天!")
class Man(Human):
    def say(self):
        super().say()
        print("男人向天怒吼:女孩的心思我不懂~")
class WoMan(Human):
    def say(self):
        super().say()
        print("女人向天怒吼:男人你们能不能别猜我心思了")
class Child(Man,WoMan):
    def say(self):
        super().say()
        print("小孩向天怒吼:哇哇哇~")
# 实例化
child = Child()
# child.say()

# mro列表
print(Child.mro())
 super()  实际是调用 mro列表的上一级关系

多继承场景 设计模式:mixin设计模式
设计模式:就是一种设计思想而已。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值