高内聚低耦合

将内部操作集成,减少外部的干涉。
提供较少的方法来操作属性。

  1. 提高程序的安全性保护数据
  2. 隐藏代码的具体实现,更加专注于项目本身
  3. 统一接口
  4. 增加系统的可维护性 ```java package com.yuque.phil616.oop.encapsulation;

public class Human { /*

  1. * these properties are private, outside cannot access these data
  2. * to operate these properties, we should provide methods
  3. * */
  4. private String name;
  5. private int age;
  6. private int salary;
  7. /*
  8. * name and age can be set and get, however, salary have no property to
  9. * get or set, its a private property.
  10. * */
  11. public void setAge(int age) {
  12. this.age = age;
  13. }
  14. public void setName(String name) {
  15. this.name = name;
  16. }
  17. public String getName() {
  18. return name;
  19. }
  20. public int getAge() {
  21. return age;
  22. }

}

``` 上面的属性是私有属性,必须提供公共接口才能实现对他们的修改。
而如果某个属性没有对应的修改或获取方法,那么外部便不可能更改或是获取他的值。
这样的话就起到了保护属性的作用。