首页 > 解决方案 > 如何保证子类不能在类外访问父类的方法?

问题描述

我有一个包含一些简单方法的类,我想创建一个基于这些方法并添加更多功能的子类。

所以,我从这个类继承,并在我的子类的父类中建立简单的方法。

现在,我如何确保不能从类外部的子类实例调用父类中的(简单)方法?我希望父类用于简单方法,子类用于更复杂的方法。

标签: pythonpython-3.xclassoop

解决方案


Python 的理念是“我们都是自愿的成年人”。如果一个类有一个方法,那么可以在该类的任何对象或该类的子类的任何对象上调用该方法。因此,您要问的实际上是不可能的。

你还有什么可以做的。如果您在父类上有一个方法,您可以在子类上覆盖该方法并让它什么都不做。这样,创建子类的实例并调用其中一个父类方法将改为调用您编写的重写方法,而实际上不会做任何事情。但是,我会考虑上述不良做法;绝对不推荐。


推荐阅读