0
инкапсуляция:Передача аргументов конструктору нарушает инкапсуляцию?
- механизм языка для ограничения прямого доступа к некоторым компонентам объекта.
- Языковая конструкция, которая облегчает объединение данных с помощью методов, работающих с этими данными.
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. Они строгие?