带有更多方法的Python子类

时间:2019-01-16 22:33:14

标签: python inheritance

我有一个关于如何处理继承问题的快速问题。

假设我们有一个车辆物体

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()到飞机课中?

1 个答案:

答案 0 :(得分:6)

子类定义比父类可用的方法更多的方法是完全可以的。确实,这是首先创建子类的通常原因。

请勿在父类上添加带有raise NotImplementedError的方法,除非您试图定义接口/ abstract base class。在Python中几乎不需要使用它,因此,如果不确定它的含义,可以放心地忘记它。

相关问题