python 继承

本文通过四个示例详细介绍了Python中的继承概念,包括单继承、子类重写父类属性方法、多继承以及如何在子类中调用父类的方法和属性。通过实例展示了如何创建和使用不同继承结构的类,以及如何在子类中覆盖或扩展父类的功能。
摘要由CSDN通过智能技术生成
# 定义一个父类
# Python 中所有的类都默认继承object的基类
class A(object):
    def __init__(self):
        self.num = 1

    def print_info(self):
        print(self.num)


# 定义一个子类
# 在B后面的括号中写A 说明A是 B的父类
class B(A):
    pass


if __name__ == '__main__':
    # 实列化一个B的对象
    b = B()
    # b调用父类的方法
    b.print_info()
    # 子类的对象调用父类的属性
    print(b.num)

2.单独继承

# 定义一个师傅类
class Master(object):
    def __init__(self):
        self.kougfu = '[大师煎饼果子配方]'

    def make_cake(self):
        print(f'运用{self.kougfu}制作煎饼果子')


# 定义一个徒弟类 只有一对父子关系
class Prentice(Master):
    pass

if __name__ == '__main__':
    # 创建一徒弟的类
    rpp=Prentice()
    # 使用徒弟类的对象去 使用kongu
    print(rpp.kougfu)
    # 使用徒弟类的对象去调用 大师类的方法
    rpp.make_cake()

3.多继承

# 定义一个师傅类
class Master(object):
    def __init__(self):
        self.kougfu = '[大师煎饼果子配方]'

    def make_cake(self):
        print(f'运用{self.kougfu}制作煎饼果子')


# 定义一个学校类
class School(object):
    def __init__(self):
        self.kougfu = '[连锁品牌的煎饼果子]'

    def make_cake(self):
        print(f'运用{self.kougfu}制作煎饼果子')



# 定义一个徒弟类 一个类有两个 甚至多个父类 叫多继承
# 寻找父类的方法会找第一个父类
class Prentice(School, Master, ):
    pass


if __name__ == '__main__':
    # 创建一徒弟的类
    rpp = Prentice()
    # 使用徒弟类的对象去 使用kongfu
    print(rpp.kougfu)
    # 使用徒弟类的对象去调用 大师类的方法
    rpp.make_cake()

4.子类重写父类的属性方法

# 定义一个师傅类
class Master(object):
    def __init__(self):
        self.kongfu = '[大师煎饼果子配方]'

    def make_cake(self):
        print(f'运用{self.kongfu}制作煎饼果子')


# 定义一个学校类
class School(object):
    def __init__(self):
        self.kongfu = '[连锁品牌的煎饼果子]'

    def make_cake(self):
        print(f'运用{self.kongfu}制作煎饼果子')


# 定义一个徒弟类 一个类有两个 甚至多个父类 叫多继承
# 寻找父类的方法会找第一个父类(超类)
class Prentice(School, Master):
    # 定义子类自己的init函数 不会触发父类的init

    def __init__(self):
        self.kongfu = '[独创煎饼果子配方]'

    def make_cake(self):
        print(f'运用{self.kongfu}制作煎饼果子配方')


if __name__ == '__main__':
    # 创建一徒弟的类
    rpp = Prentice()
    # 使用的是子类自己的配方
    print(rpp.kongfu)
    # 用的是子类自己的方法
    rpp.make_cake()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值