Java 信息隐藏和封装之间的区别是什么?
我知道,由于研究的原因,两者之间存在差异,但我只能找到它们之间的相似之处。。。我希望如果有人能澄清两者之间的区别,如果你能为每一个都举个例子的话,那真的会有所帮助。Java程序,这个程序也算是封装还是信息隐藏,或者两者都算Java 信息隐藏和封装之间的区别是什么?,java,oop,encapsulation,Java,Oop,Encapsulation,我知道,由于研究的原因,两者之间存在差异,但我只能找到它们之间的相似之处。。。我希望如果有人能澄清两者之间的区别,如果你能为每一个都举个例子的话,那真的会有所帮助。Java程序,这个程序也算是封装还是信息隐藏,或者两者都算 class DogsinHouse { private int dogs; public int getdog() { return dogs; } public void setdog(int amountOfDogsNow) {
class DogsinHouse {
private int dogs;
public int getdog() {
return dogs;
}
public void setdog(int amountOfDogsNow) {
dogs = amountOfDogsNow;
}
}
您发布的代码部分就是这两者的一个例子。封装是一种Java类具有状态(存储在对象中的信息)和行为(对象可以执行的操作,或者更确切地说是方法)的技术。当您在类a中调用类B中定义的方法时,您正在使用该方法,而不知道其实现,只是使用公共接口 信息隐藏这是istance变量声明为私有(或受保护)的原则:它提供了一个稳定的接口,并保护程序免受错误(作为不应该访问上述变量的代码部分的变量修改) 基本上: 使用信息隐藏进行封装:
public class Person {
private String name;
private int age;
public Person() {
// ...
}
//getters and setters
}
public class Person {
public String name;
public int age;
public Person() {
// ...
}
//getters and setters
}
无信息隐藏的封装:
public class Person {
private String name;
private int age;
public Person() {
// ...
}
//getters and setters
}
public class Person {
public String name;
public int age;
public Person() {
// ...
}
//getters and setters
}
在OOP中,同时使用封装和信息隐藏是一种很好的做法。您可能需要阅读简短的回答:信息隐藏(也称为数据隐私)是指使用访问修饰符(如public、protected和private)来限制对成员(方法和字段)的访问。封装是指将相关的状态和行为收集到一个“胶囊”中,在OOP中,这个“胶囊”是指封装完成其工作所需的状态和行为的类。相关概念包括耦合和内聚。