【发布时间】:2011-08-06 03:22:16
【问题描述】:
搜索出现了一个简单的定义:数据隐藏。
但是,请考虑以下两个示例:
1) 第一个例子:
Class Employee
{
public int age;
}
2) 第二个例子:
Class Employee
{
private int age;
public int getAge(){return age;}
}
问题:
在上面指定的两个示例中,没有数据隐藏,因为age 要么被其他人修改,要么被其他人查看。数据隐藏在哪里?封装对上述示例有何帮助?
【问题讨论】:
-
你读过维基百科的文章吗:en.wikipedia.org/wiki/…
-
@Reno,封装不仅仅意味着保护数据不被修改。如果我再添加一个 setter 方法怎么办……根据您的解释,这意味着封装意味着类的只读属性……这不是……我确定……
-
另见:Why Properties Matter by Jon Skeet
标签: .net oop design-patterns encapsulation hidden-field