我有以下Class方案。實施封裝的正確方法
National
有ArrayList
的Zone
,Zone
一個的Region
和Region
ArrayList
有Person
的ArrayList
。
所以我要下一個問題:
1)我能「推」一個人低谷的國家和區域,將其添加在區域?
例如:
National national = new National();
....
national.addPerson(person); // Every level has his own addPerson method
或
national.getZone(i).getRegion(i).addPerson(person);
什麼是OOP這樣做的正確方法?
2)可以制定一種方法,我會返回每個人的水平?
我的意思,例如:
Zone zone = new Zone();
...
zone.getPersons(); //Return a ArrayList with the persons of every Region in Zone.
這違背封裝? 3)爲每個級別設置next(),hasNext(),first()方法,所以我可以在該特定級別進行迭代。
就是這樣。一般來說,我會得到封裝和OOP,但我無法弄清楚什麼是正確的做法,什麼是錯的。
謝謝。
**堆棧溢出**不是這個問題的地方。在[Stack Exchange Network](http://stackexchange.com/sites)上搜索適合此問題的網站 – 2016-04-25 02:56:00
@ProgyadeepMoulik我相信這是主題。 –
@ProgyadeepMoulik爲什麼不是地方?我還有什麼地方可以問我的先生封裝? – exsnake