至少回答 C#/Java 部分,因为我对 C++ 不太了解。
\n\n\n\n\n但是,根据其声明的可访问性,继承的成员可能无法在派生类中访问。
\n
尽管 Java 以相同的方式处理私有成员,但 C# 规范似乎更有意义。Java 中也存在基类的私有成员(但是它们不是继承的,请参阅Java 中私有字段是否继承?)。由于您无法访问它们,所以无论如何这都是没有用的。然而,内部结构当然也是通过设置私有成员来初始化的。因此,派生类的实例当然拥有基类的所有私有成员,但是继承意味着任何类型的多态性,这意味着您可能能够覆盖(假设您的成员不是static或final/selead)它们,这对私有成员没有意义。
因此,无论是在 C#、Java 还是其他任何地方,根本不需要访问内部结构。简单地假设您的派生实例已完全初始化所有基本成员并完成您的实际工作。
\n\n关于你所说的“OOP理论”,我怀疑对于这个原则(在上述语言中以不同的方式实现)是否有一个更清晰的答案,私有成员根本没有相关性。OOP 仅处理对象与其周围环境之间的交互,而不是其实际内部。
\n| 归档时间: |
|
| 查看次数: |
184 次 |
| 最近记录: |