私は以下のクラススキームを持っています。カプセル化を実装する正しい方法
National
Region
とRegion
のArrayList
がPerson
のArrayList
を持ってZone
、Zone
のArrayList
を持っています。
だから私は、次の質問があります。
1)I「プッシュ」人は地域でそれを追加するために、国や地域の谷できますか?例えば
:
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) –
@ProgyadeepMoulikで検索してください。 –
@ProgyadeepMoulikなぜ場所ではないのですか?他にカプセル化について私の先生に聞くことができますか? – exsnake