问答详情
源自:9-7 Java 中的 super 的使用

如果想要获得父类的父类的属性,可以使用super吗?

如果想要获得父类的父类的属性,可以使用super吗?该怎样使用?能给出代码示范吗???

提问者:Voidmatrix 2018-07-12 18:51

个回答

  • qq_零_67
    2018-07-12 21:54:50
    已采纳

    例如:

    创建一个爸爸类Car

    >>> class Car(): 
    def __init__(self,name,brand,color,max_speed):
    self.name = name
    self.brand = brand
    self.color = color
    self.max_speed = max_speed
    def owner(self):
    print('%s拥有一辆小汽车'%self.name)

    创建一个Car的儿子类  Tesla,但我希望儿子不是完全继承爸爸,他有特殊的能源供应方式--锂电池。于是我给儿子写了自己的__init__,这时候,父亲的name,brand等实例属性就没有了。那如何能找回来呢?用super(新样式,有新的,当然就有旧样式).   super(Tesla,self).__init__(name,brand,color,max_speed),把儿子类名字写进super(儿子名,self).__init__(爸爸参数)

    其实super就是重新调用父亲类的__init__一遍,就能让儿子重获爸爸的家产,继承他的遗产·~~拥有爸爸的属性