簡體   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