我有一个关于如何处理继承问题的快速问题。
假设我们有一个车辆对象
class vehicle(object):
__init__(registration):
registration = self.registration
get_details():
return "This is a vehicle"
然后是一辆继承自 vehicle 的卡车
class truck(vehicle):
get_details():
return "This is a truck"
我们有很多类都具有相同的方法和属性,例如公共(public)汽车,汽车,火车。然而,我们也有一个继承自 vehicle 的飞机,但只有飞机有一个名为 required_takeoff_distance()
只将它放在飞机类中是否可以,还是您也应该将它添加到默认为 raise NotImplementedError()
的车辆类中?
最佳答案
子类可以定义比父类更多的方法。事实上,这是首先创建子类的通常原因。
不要将带有raise NotImplementedError
的方法添加到父类中,除非您尝试定义接口(interface)/abstract base class .这在 Python 中几乎从不需要,所以如果您不确定这意味着什么,您可以安全地忘记它。
关于具有更多方法的 Python 子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54226402/