封装:
- 限制直接访问某些对象组件的语言机制。
- 一种语言结构,它有助于将数据与操作该数据的方法捆绑在一起。
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 :(得分:0)
构造函数参数告诉任何外部系统关于类实现的内容是什么? 听起来像是胡说八道。