繁体   English   中英

从属性对象访问父类属性

[英]Accessing Parent Class Properties from Property Objects

假设您具有以下设计:

ClassA

ClassC

ClassB
    Property: object of type ClassA
    Property: object of type ClassC

如果ClassB具有类型为ClassA的对象,那么ClassA是否可以访问ClassB成员? 换句话说,假设有一个ClassA方法(例如ClassA.GetVegetables() ),但ClassA方法需要访问ClassB类型的ClassC属性,这可能吗?

看起来您正在将2个概念混合在一起:

  • 引用对象的实例
  • 允许访问对象的成员/方法/属性

ClassA是否可以调用ClassB的任何方法取决于ClassA是否引用ClassB(第一个概念)。 例如,可以通过将ClassB的实例传递给ClassA的构造函数来实现。

一旦ClassA引用了ClassB的实例,它就只能访问标记为public的ClassB的方法。 查找access modifiers以获取更多信息。

在没有看到任何附加代码的情况下,最好的处理方法是将所需信息作为参数传递给GetVegetables方法。

理想情况下,您应该将所有必需的数据作为参数传递,以使方法非常独立,而不依赖于某些全局状态。

这是假设当前的设计是最佳的。 可以通过更改设计细节来解决此问题,但是如果看不到更多代码,我们就无法分辨。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM