【发布时间】:2020-12-05 23:26:14
【问题描述】:
我有一个包含一些简单方法的类,我想创建一个基于这些方法并添加更多功能的子类。
所以,我从这个类继承,并在我的子类中建立父类中的简单方法。
现在,如何确保您不能从类外部的子类实例调用父类中的(简单)方法?我希望父类用于简单的方法,子类用于更复杂的方法。
【问题讨论】:
-
不要使用 Python
标签: python python-3.x class oop
我有一个包含一些简单方法的类,我想创建一个基于这些方法并添加更多功能的子类。
所以,我从这个类继承,并在我的子类中建立父类中的简单方法。
现在,如何确保您不能从类外部的子类实例调用父类中的(简单)方法?我希望父类用于简单的方法,子类用于更复杂的方法。
【问题讨论】:
标签: python python-3.x class oop
Python 的理念是“我们都是自愿的成年人”。如果一个类有一个方法,那么可以在该类的任何对象或该类的子类的任何对象上调用该方法。因此,您所问的实际上是不可能的。
还有一些你可以做的。如果您在父类上有一个方法,您可以在子类上覆盖该方法并让它什么都不做。这样,创建子类的实例并调用其中一个父类方法将改为调用您编写的重写方法,而实际上不会做任何事情。但是,我会考虑上述不良做法;绝对不推荐。
【讨论】: