小编mon*_*mpe的帖子

Python继承:是否必须显式调用parent构造函数和析构函数?

我有一些代码(适用于ev3dev):

class Motor(object):
    def __init__(self, portName):
        self.base = "/sys/class/tacho-motor/motor"
        self.number = self.getMotorNumberWithSpecificPortName(portName)
        self.name = self.base + str(self.number) + "/"

        self.setDefaultValues()

    def __del__(self):
        self.callReset()

    (...)

class TurnMotor(Motor):
    def __init__(self):
        super(TurnMotor, self).__init__("outA")

    def __del__(self):
        super(TurnMotor, self).__del__()
Run Code Online (Sandbox Code Playgroud)

目标是定义多个电机类,如TurnMotor本例中所示,它们从其特定端口继承Motor并自动运行__init__。他们还应__del__在破坏时调用父方法以重置电动机。

我知道在这种情况下,我必须__init__为子类定义一个方法以使用我想要的端口启动,但是__del__如果我在子类中省略了定义,仍可以从子类中调用parent 方法__del__吗?
总的来说这也可能__init__吗?

预先感谢您,如果这是重复的,则对不起。

python inheritance lego-mindstorms

5
推荐指数
2
解决办法
4177
查看次数

标签 统计

inheritance ×1

lego-mindstorms ×1

python ×1