我有以下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