2016-07-31 9 views
0

Incapsulation:オブジェクトのコンポーネントの一部への直接アクセスを制限するための引数をコンストラクタに渡すとカプセル化に違反しますか?

  • 言語メカニズム。
  • そのデータで動作するメソッドとデータのバンドルを容易にする言語構造。
class Cat 
{ 
    private string catName; 
    private CatBreed catBreed; 

    public Cat(string name, CatBreed breed) 
    { 
     catName = name; 
     catBreed = breed; 
    } 

    // methods that use catName and catBreed fields 
    ... 
} 

使用法:

var cat = new Cat("Thomas", CatBreed.Abyssinian); 
... 

同僚は、外部システムは、Catクラスの内部実装について知っているので、コンストラクタに引数を渡すと、カプセル化に違反することを説得しようとしました。彼らはリグートですか?

答えて

0

コンストラクタパラメータは、クラスの実装について外部システムに何を通知しますか?
私にナンセンスのような音。

関連する問題