高内聚低耦合
将内部操作集成,减少外部的干涉。
提供较少的方法来操作属性。
- 提高程序的安全性保护数据
- 隐藏代码的具体实现,更加专注于项目本身
- 统一接口
- 增加系统的可维护性 ```java package com.yuque.phil616.oop.encapsulation;
public class Human { /*
* these properties are private, outside cannot access these data
* to operate these properties, we should provide methods
* */
private String name;
private int age;
private int salary;
/*
* name and age can be set and get, however, salary have no property to
* get or set, its a private property.
* */
public void setAge(int age) {
this.age = age;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
```
上面的属性是私有属性,必须提供公共接口才能实现对他们的修改。
而如果某个属性没有对应的修改或获取方法,那么外部便不可能更改或是获取他的值。
这样的话就起到了保护属性的作用。