首页 > 解决方案 > 防止某些属性在子类中被继承

问题描述

需要一些帮助来解决这个难题:

在 Python 中创建子类并定义 init 方法时,我想导入父类/父类的所有属性,但某些位置参数和某些参数(未在父类的 init 方法的位置或关键字列表中定义) /non-keworded 参数但是)在父类初始化方法中/内部定义,具有默认值。

有没有办法防止/避免某些/特定的父类属性在启动时导入子类?我知道我们可以覆盖子类中不模仿父类行为的方法,但我不知道如何对属性做同样的事情,所以我在想我是否可以完全避免它们!

我将举例说明为什么我需要某个子类来模仿其父类的所有内容,但某些属性除外。

考虑一个父类“汽车”。子类将是“ElectricCar”。父类定义了一个名为“liters_gasoline”的属性,其中某个整数作为其默认值。

现在,我想继承 ElectricCar 子类中的所有内容,除了“liters_gasoline”参数,因为 ElectricCars 不使用燃料/汽油。如何防止这个“liters_gasoline”参数在子类中被继承?我不想在子类中使用这个参数!

这个怎么做?

标签: pythonclassinheritance

解决方案


如果某些东西从父类继承,它应该具有父类的所有属性。例如,“liters_gasoline”应该只属于汽油车而不是电动车。


推荐阅读