2014-09-22 68 views
-4

假設我有三個類:外部,Inner1和Inner2。 Inner1和Inner2都需要訪問Outer的 數據成員,但顯然,如果Inner1和Inner2嵌套在Outer中,則無法從外部訪問數據。任何想法,我應該如何重新設計呢?如何重新設計我的代碼以避免python中的嵌套類?

更多信息: Outer的每個實例都與Inner1和Inner2的多個實例關聯。 Inner1表示曲線上的點(曲線是Outer),Inner2表示Inner2的x,y座標的「數字」。它們都共享一段數據,即主模數(Inner1需要關於曲線參數的信息)。

我寧願Inner1和Inner2的每個實例都不必攜帶Outer。

+1

將'Outer'的實例傳遞給內部類? – 2014-09-22 19:47:01

+1

爲什麼你需要首先嵌套課程? – Korem 2014-09-22 19:47:25

+2

在Python中,與Java不同,嵌套類沒有外部類的關聯實例,因此也沒有用於從外部類訪問數據的神奇方法。 – NPE 2014-09-22 19:47:52

回答

1

在Python中,與Java不同,嵌套類沒有外部類的關聯實例,因此也沒有用於從外部類訪問數據的神奇方法。

實現此目的的一種方法是讓Inner1Inner2保留對Outer的實例的引用,並使用該引用來訪問數據。當你處理它時,可能值得考慮嵌套類是否有任何好處;也許讓他們一起生活可能會更清潔。

+0

這可能有效。我如何在Python中傳遞引用? – Tatiana 2014-09-22 22:09:49

相關問題