python - 如何保证子类不能在类外访问父类的方法?
问题描述
我有一个包含一些简单方法的类,我想创建一个基于这些方法并添加更多功能的子类。
所以,我从这个类继承,并在我的子类的父类中建立简单的方法。
现在,我如何确保不能从类外部的子类实例调用父类中的(简单)方法?我希望父类用于简单方法,子类用于更复杂的方法。
解决方案
Python 的理念是“我们都是自愿的成年人”。如果一个类有一个方法,那么可以在该类的任何对象或该类的子类的任何对象上调用该方法。因此,您要问的实际上是不可能的。
你还有什么可以做的。如果您在父类上有一个方法,您可以在子类上覆盖该方法并让它什么都不做。这样,创建子类的实例并调用其中一个父类方法将改为调用您编写的重写方法,而实际上不会做任何事情。但是,我会考虑上述不良做法;绝对不推荐。
推荐阅读
- nginx - CentOS 7 - NGINX - DNS 负载均衡
- google-cloud-storage - 在 Google Cloud Storage 的子文件夹中托管静态 Sapper 站点
- r - 在 drake 中使用 code_to_plan 和 target(..., format = "fst")
- excel - 将活动行从一个表剪切并粘贴到不同工作表上的另一个表
- python - 需要有关用户输入的蛇程序帮助
- amazon-web-services - 有没有办法使用 Lambda 函数在 Amazon EFS 上存储文件?
- angular - Angular2 jwt auth 通过子模块中的拦截器
- sql - 网站分析数据的存储 - 关系还是时间序列?
- mysql - .on("ready") 用mysql定义公会ID
- javascript - Vuetify fab 无法在 Firebase 上托管的 Vue.js 应用程序中正确呈现