具有更多方法的 Python 子类

标签 python inheritance

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

假设我们有一个车辆对象

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/

相关文章:

inheritance - 从React中的父类(super class)继承defaultProps

java - 在一个具体类中定义所有抽象方法

java - 为什么子类继承自基类的方法不能打印自身字段的值?

c++ - 为什么我不能将父类(super class)引用强制转换为也扩展另一个父类(super class)的子类?

python Selenium : Can't find element by xpath when browser is headless

python - 这是在做什么(Python)

python - 屏蔽 pandas DataFrame 中最大值之前出现的所有值

python - 类型错误 : 'numpy.float64' object cannot be interpreted as an integer and casting to int fails

python - 继承函数后如何给它更多的参数

Python:正则表达式元素与列表匹配