java信息隐藏和封装有什么区别?
我知道这是因为研究不同,但我只能找到它们之间的相似之处。。。我希望有人能澄清两者之间的区别,如果你能举个例子来说明这两种方法是否真的有帮助。Java程序这个程序也算是封装还是信息隐藏,或者两者都算
class DogsinHouse {
private int dogs;
public int getdog() {
return dogs;
}
public void setdog(int amountOfDogsNow) {
dogs = amountOfDogsNow;
}
}
# 1 楼答案
您发布的代码部分就是这两者的一个例子。封装是一种Java类具有状态(存储在对象中的信息)和行为(对象可以执行的操作,或者更确切地说是方法)的技术。当您在类a中调用类B中定义的方法时,您使用的是该方法,而不知道其实现,只是使用公共接口
信息隐藏这是istance变量被声明为私有(或受保护)的原则:它提供了一个稳定的接口,并保护程序免受错误(作为不应该访问上述变量的代码部分的变量修改)
基本上:
使用信息隐藏进行封装:
无信息隐藏的封装:
在OOP中,同时使用封装和信息隐藏是一种很好的做法