什么是属性隐藏,举例说明。java
时间: 2024-10-15 14:09:24 浏览: 20
属性隐藏(Encapsulation)是面向对象编程的一个核心原则,它是指将数据成员(变量)和操作数据的方法封装在一起,形成一个独立的对象,外部只能通过公共方法来访问和修改其内部状态。这样做的目的是为了保护数据的安全性和完整性,避免直接随意地修改导致的错误。
例如,在Java中,我们可以创建一个名为`Person`的类,包含私有属性如`name`和`age`:
```java
public class Person {
private String name; // 私有属性
private int age;
// 公共的getter和setter方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
if (age >= 0) { // 隐藏不必要的属性值设置
this.age = age;
} else {
throw new IllegalArgumentException("Age cannot be negative.");
}
}
}
```
在这个例子中,`name`和`age`是私有的,外部无法直接访问它们。如果需要修改,必须通过`setName()`和`setAge()`方法,这样可以控制数据的变化条件,比如年龄不能为负数。这就是属性隐藏的概念。
阅读全文