我是一名新手,对面向对象编程(OOP)的封装(encapsulation)有些疑问。
"partial"和"weak"封装有什么区别?请给出Java中的例子。
封装是否只意味着将数据放在类似于类的胶囊中,或者必须有访问修饰符(access modifier)?
我读到过封装的定义是隐藏和组合数据。
在这个例子中:
class A{
public int a;
public void foo(){}
}
以上代码是否是封装的示例?如果是,则外部世界没有任何隐藏,因为a
和foo
是公共的。在这个示例中,a
和foo
必须被声明为private
才能被认为是封装吗?