2016-07-31 15 views
0

Einkapselung:Übergabe von Argumenten an Konstruktor verletzt die Kapselung?

  • Sprache Mechanismus für den direkten Zugang zu einigen der Komponenten des Objekts zu beschränken.
  • Ein Sprachkonstrukt, das das Bündeln von Daten mit den Methoden erleichtert, die mit diesen Daten arbeiten.
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 
    ... 
} 

Verbrauch:

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

Kollegen versucht, die Argumente an Konstruktor verletzt Verkapselung zu überzeugen, weil externes System über Cat-Klasse interne Implementierung kennt. Sie sind richtig?

Antwort

0

Was sagen die Parameter des Konstruktors einem externen System über die Klassenimplementierung?
Klingt nach Unsinn für mich.