【发布时间】:2016-02-16 09:05:45
【问题描述】:
在 C# 中,规范说:
实例构造函数、析构函数和静态构造函数不是 继承的,但所有其他成员都是,不管他们的声明 可访问性(第 3.5 节)。但是,根据他们声明的 可访问性,继承的成员可能无法在派生的 类。
因此私有字段被继承到派生类中,但它们不可访问。
但是 Java 规范说:
只有声明为受保护或公共的类的成员才是 由包中声明的子类继承,而不是 声明了哪个类。
所以私有字段不会被继承到派生类中。
什么解释了 OOP 理论?是正确的 C# 还是 Java 设计者?
在这方面有点困惑。
附: 我没有C++经验? C++ 设计师对此有何看法?
【问题讨论】:
-
没有 OOP 理论。 OOP 是一种通用的概念/编程风格,不同的语言可能以不同的方式支持它。你甚至可以用纯 C 语言做 OOP。