关于继承问题

关于继承问题

问题描述:请问

 super().__init__(name, age)

是什么意思呢?这个函数有什么用呢?

关于这道题的解答有没有更好的不用这个函数的方法呢?

在子类继承父类的过程中,如果父类和子类都在构造函数中有传参,那子类该如何继承呢?

如果子类想全部继承父类参数该怎么做?子类到时候传参的顺序有无变化?

如果子类想部分继承该怎么做?不继承又该怎么做呢?

相关截图:https://img1.sycdn.imooc.com//climg/64c35dbb091871e604620510.jpg

相关代码:

class Animal(object):
    def __init__(self, name, age):
        self.name = name
        self.age = age


class Person(Animal):
    def __init__(self, sex, name, age):
        super().__init__(name, age)
        self.sex = sex


class Bird(Animal):
    def __init__(self, kind, name, age):
        super().__init__(name, age)
        self.kind = kind


bird = Bird(1, 2, 3)
print(bird.name, bird.age, bird.kind)


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小猿 2023-07-28 15:01:43

1、就是执行父类的构造函数__init__方法,使得我们能够继承父类的name,age属性。

2、可以用父类名.方法名()来替换

https://img1.sycdn.imooc.com//climg/64c3693c094e337b04250131.jpg

3、不耽误,子类只是继承了父类的name、age 属性,并不是继承了父类的属性值。子类实例化传参时,实例化的是子类的对象,与父类实例化对象不同,互相不影响

https://img1.sycdn.imooc.com//climg/64c364c009c2eb5a05560340.jpg

4、想要集成必须全部继承父类的属性,不能集成部分,继承部分程序报错

https://img1.sycdn.imooc.com//climg/64c366550927aed911850776.jpg

子类传参时,若继承父类属性,要按父类的顺序传参

https://img1.sycdn.imooc.com//climg/64c367920968ba9e06040563.jpg

5、无法实现继承部分属性,要么继承父类的全部属性,要么不继承

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师