我读过基类中的私有(private)变量在技术上由子类继承,但不可访问。
如果这是正确的,为什么我们说它们是继承的,因为它们大概只能通过反射访问?
最佳答案
子类是关于继承实现;和字段是一个实现细节。
这些字段确实存在,并且可以通过反射获得。但最终,通过任何公共(public)/ protected /等成员管理这些字段的状态是基类的工作。
但最终 - 如果基类为属性 Foo
声明了一个属性(和字段),那么当您设置该属性时,数据必须去某个地方。子类必须包含基类中的所有字段才能使其有意义。这对于基于字段的序列化框架(例如 BinaryFormatter
)也很重要。