通过超类的对象创建子类的对象[python]

问题描述 投票:0回答:1

有办法(在Python中)通过超类obj创建子类obj吗? 我必须解析一个文件,所以我必须:

  1. 打开文件并解析=>超类obj
  2. 如果条件好,尝试扩展文件=>子类obj

在检查之前必须创建 SuperClass obj, 我已经有一个潜在的子类对象(不需要再次解析文件)

es:

class SupClass():
  def __init__(self, filename: str):
    self.file = filename
    
class SubClass(SupClass):
  def __init__(self, filename: str, extra: str):
    super().__init__(filename)
    self.extra = extra

但是如何做类似的事情:

A = SupClass('filepath')
B = SubClass(A, 'extra_input')

坦克君。

python inheritance constructor
1个回答
0
投票

您可以为您的子类添加额外的构造函数:

class SubClass(SupClass):
    def __init__(self, filename: str):
        super().__init__(filename)

    def __init__(self, filename: str, extra: str):
        super().__init__(filename)
        self.extra = extra
© www.soinside.com 2019 - 2024. All rights reserved.