习题44 继承和组合

文章展示了Python中类的继承概念,Child类从Parent类继承并重写了`override`方法。`altered`方法使用`super`关键字调用了父类的方法,展示了如何在子类中扩展或修改父类的功能。`implicit`方法体现了隐式继承的概念。
摘要由CSDN通过智能技术生成

学习目标:

ex44.py


学习内容:

class Parent(object):

    def override(self):
        print("PARENT override()")
#类Parent有一个函数override以self为参数
    def implicit(self):
        print("PARENT implicit()")
#类Parent有一个函数implicit以self为参数
    def altered(self):
        print("PARENT altered()")
#类Parent有一个函数altered以self为参数
class Child(Parent):
#创建一个Child的类,它是Parent的一种
    def override(self):
        print("PARENT override()")
#Child中定义一个同名的函数override,显示覆盖
    def altered(self):
        print("CHILD, BEFORE PARENT altered()")
        super(Child, self).altered()
        print("CHILD,AFTER PATENT altered()")
#PARENT altered()
#CHILD, BEFORE PARENT altered()
#PARENT altered()
#CHILD,AFTER PATENT altered()
#1.由于我覆盖了 Parent.altered,实际运行的是 Child.altered
#18行执行结果22
#2.super来获取Parent.altered这个版本,这里我想在前面和后面加一个动作
#3.19行调用了 super(Child, self).altered(),它还知道你的继承关系,并且会访问到 Parent类
#这句你可以读作:“用 Child 和 self 这两个参数调用 super,然后在此返回的基础上调用 altered
#4.到这里函数的 Parent.altered 版本就会运行,而且打印出了 Parent 里的消息
#19行执行结果23
#5.最后,从 Parent.altered 返回, Child.altered 函数接着打印出后面的消息
#20行执行结果24
dad = Parent()
son = Child()

dad.implicit()
son.implicit()
#隐式继承,Parent中定义的函数implicit
dad.override()
son.override()

dad.altered()
son.altered()

学习时间:

2023.6.20


学习产出:

ex44.py

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值