首页 > 解决方案 > 是否可以在子类中将数据属性分配给超类?

问题描述

我想为实例化时获取的超类的实例分配一个数据属性。

例如:

class Sub(Super):
    def __init__(self, name):
        self.name = Super.__init__(self, name)

换句话说,我想使用name超类Super产生的东西。

这种做法是否令人不快?我没有看到任何其他使用这种语法的帖子,但不知道如何在实例化过程中使用我的超类的实例。

标签: pythoninstantiation

解决方案


在构造函数中传递对对象超类的引用是没有意义的。您的子类已经是超类的一个实例。

即使您不能直接看到超类的私有组件,但它们仍然存在,并且对公共访问器方法的调用仍然会产生正常行为。

换句话说,不需要传入name超类Super

更多信息在这里:https ://www.tutorialspoint.com/what-happens-when-a-subclass-object-is-assigned-to-a-superclass-object-in-java

类似问题:https ://stackoverflow.com/questions/34817489/passing-superclass-object-as-parameter-to-subclass-constructor-java/34818145#34818145https://stackoverflow.com/questions/34817489/passing-superclass -object-as-parameter-to-subclass-constructor-java/34818145#34818145


推荐阅读