カプセル化のメリットとして"クラスから複数のオブジェクトを安全に生成できる"というのは正しくないのか?という質問です
Java silver se7の試験勉強をしています。
今使っている参考書の中の問題で、理解できないものがあったのでお教えいただきたく質問しました。
以下の問題です。
__ーーここからーー
カプセル化のメリットとして正しいものは次のどれですか。2つ選択してください。
A.コードから例外を排除できる
B.クラスから複数のオブジェクトを安全に生成できる
C.不変オブジェクトを設計できる
D.オブジェクトが保持するデータを保護できる
E.複数のクラスをパッケージ化する
解説:正解C,D
カプセル化は、操作経由でのアクセスのみを許可することで外部から属性への直接的なアクセスを避け、属性を保護(データ隠蔽)します。また、以下のようなクラス設計をすると、インスタンス化時に指定された値を保持し続け、その後、属性を変更させない不変オブジェクトを作成できます。したがって、選択しC,Dが正しいです。
//不変オブジェクトのクラス定義例
public final class User{
private final String name;
private final int id;
public User(String name,int id){
this.name=name;
this.id=id;
}
public String getName() {
return this.name;
}
public int getId() {
return this.id;
}
}
ーーここまでーー__
以下分からない事
C,Dが正しいことはわかるのですが、
B.クラスから複数のオブジェクトを安全に生成できる
が誤りなのが分かりません。
クラスから複数のオブジェクトを生成する場合、
カプセル化の性質上、それぞれのオブジェクトが互いに干渉し合うという事態を避けることができると思うので
Bはだたしいとしてもいいと思うのですが。
カプセル化について正しく理解できていなくて見当違いな事を言っているかもしれませんが、お教えください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/10/29 03:01