类的隐式继承,显式覆盖------------------类的基础(一)1.1

#####################隐式继承#########################################
class parent(obj):
    def im(self):
        print("cool")
class child(parent):
    pass

dad = parent()
son = child()

dad.im()
son.im()

'''此时,输出结果是相同的,即使child中是空代码块Pass ,但是它继承了父类所有的行为,所以可以调用im()函数'''

####################显式覆盖#########################################
class parent(obj):
    def im(self):
        print("cool")
class child(parent):
    def im(self):
        print("not cool at all")

dad = parent()
son = child()

dad.im()
son.im()
'''有时候需要让子类中的函数有不同的行为,需要覆盖父类中的某个函数,从而实现它的新功能,那么需要在子类中定义一个相同名称的函数即可。

#################super的使用,确定父类定义的内容运行之后还是之前修改行为,首先像上例一样覆盖函数
class parent(obj):
    def im(self):
        print("cool")
class child(parent):
    def im(self):
        print("not cool at all")
        super(child,self).im()

dad = parent()
son = child()

dad.im()
son.im()

'''输出结果:
cool-----------------父类输出
not cool at all-------------子类print输出
cool-----------------使用内置函数super访问父类并输出父类函数im


 

转载于:https://my.oschina.net/piginwind/blog/693515

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值