目录

第3章 面向对象 - 封装

优质
小牛编辑
125浏览
2023-12-01

封装

封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。

好处:

  1. 将变化隔离。
  2. 便于使用。
  3. 提高重用性。
  4. 提高安全性。

封装原则:

  1. 将不需要对外提供的内容都隐藏起来。
  2. 把属性都隐藏,提供公共方法对其访问。如,getXXX,setXXX。

示例:

  1. /**
  2. 人:
  3. 属性:年龄
  4. 行为:说话
  5. */
  6. class Person{
  7. //private:私有,是一个权限修饰符,用于修饰
  8. //不希望别人直接访问赋值,需要通过私有化把属性进行隐藏
  9. private int age ;
  10. //通过提供set、get公共方法对其访问
  11. public void setAge( int a){
  12. //在set方法内可以对属性的赋值进行限制
  13. if (a > 0 && a < 130){
  14. age = a;
  15. } else
  16. System.out .println("错误的数据" );
  17. }
  18. public int getAge(){
  19. return age ;
  20. }
  21. void speak(){
  22. System.out .println("age = " + age);
  23. }
  24. }
  25. class PersonDemo{
  26. public static void main(String[] args){
  27. Person p = new Person();
  28. //通过其他方式访问
  29. p.setAge(20);
  30. p.speak();
  31. //赋值不合法,set方法就不允许成功赋值
  32. p.setAge(-20);
  33. }
  34. }

运行结果:

1491310549430

注意事项:

  • 私有仅仅是封装的一种体现而已。
  • private关键字:是一个权限修饰符,用于修饰成员(成员变量和成员函数),被私有化的成员只在本类中有效。
  • 常用场景之一:将成员变量私有化,对外提供对应的set、get方法对其进行访问,提高对数据访问的安全性。