假設您有一組對象,它們排列在一個層次結構中。也就是說,有一個包含所有對象的對象,那麼這個對象指的是同一類型的幾個對象,但是在較低的層次上,並且這些對象中的每一個都指向同一類型的幾個對象,而較低級別的對象,以此類推可變數量的步驟。例如,讓我們考慮這些對象是政府,所以最高級別是全球性的,那麼全球會有國家和部落,國家會有城鎮,城鎮會有房子和企業等等。所有這些政府都推廣了政府抽象類,所以它們都有相同的類型。通用嵌套for循環
我需要遍歷整個層次結構中的所有對象,但因爲我不知道運行時的完整結構,所以我必須以廣義的方式來完成。我只知道確實存在一個全球性的政府,然後我必須檢查哪些子政府必須進行。
我發現這樣做的一種方法是給超類一個名爲getSubGovs()的函數,它返回所有子政府的列表,以及這些子政府每個從getSubGovs()返回的內容。我希望這是有道理的。這是一個很好的方式來解決這個問題。
我正在尋找的是一種方法來做到這一點,而不必添加一個函數到超類,在我正在處理一個API的情況下,不能修改超類。什麼將是一個優雅的方式來做到這一點?
是否要對結構中的所有對象執行通用操作?如果是這樣,什麼類型的操作?如果不是,你爲什麼要迭代它? – Bohemian