我有一个关于如何处理继承问题的快速问题。
假设我们有一个车辆物体
class vehicle(object):
__init__(registration):
registration = self.registration
get_details():
return "This is a vehicle"
然后是一辆继承自车辆的卡车
class truck(vehicle):
get_details():
return "This is a truck"
我们有很多类都具有相同的方法和属性,例如公共汽车,汽车,火车。但是,我们还有一架继承自车辆的飞机,但只有飞机有一种称为required_takeoff_distance()
可以只将其包含在飞机课中吗?还是应该将其默认添加为raise NotImplementedError()
到飞机课中?
答案 0 :(得分:6)
子类定义比父类可用的方法更多的方法是完全可以的。确实,这是首先创建子类的通常原因。
请勿在父类上添加带有raise NotImplementedError
的方法,除非您试图定义接口/ abstract base class。在Python中几乎不需要使用它,因此,如果不确定它的含义,可以放心地忘记它。