Python----继承

本文介绍在面向对象编程中,子类如何通过重写父类的方法来自定义行为,并展示如何在子类中调用父类的方法。同时解释了子类对象访问父类私有成员的间接方式。
子类拥有父类所有的方法和属性, 当父类的方法不能满足子类需求时,可以进行重写

扩展的方式

在子类中重父类的方法

在需要的位置使用super().父类的方法 来调用父类方法

supper 是一个特殊的类, 常用于调用父类中封装的方法

子类对象 不能在自己的方法内部, 直接访问父类私有属性和私有方法
子类对象 可能通过 父类的公有方法间接访问到私有属性 或私有方法
class A:

    def a(self):
        print('a...')

    def __test(self):
        print('Private...test')

    def call_test(self):
        self.__test()


class B(A):

    def b(self):
        print("b...")

    def show(self):
        print("show b...")


class C(B):

    def c(self):
        print("c...")

        super().show()  # 调用父类方法方式1: super().方法名()
        C.show(self)    # 调用父类方法方式2: 类名:方法(self) --- 不推荐(Python 2.x)

    # 重写
    def show(self):
        print("show c...")

        # super().show() # 不会出现递归调用
        # C.show(self)   # 在相同的方法里递归调用


    def other(self):
        print("other...")


c = C()
c.a()
c.b()
c.c()

c.show()

c.call_test()    # 调用私有方法, 通过父类共用方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值