A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. class Person
  2. {
  3.         private int age;
  4.         public void setAge(int a){
  5.                 if(a>0&&age<130){
  6.                   age=a;
  7.                   speak();
  8.                 }else{
  9.                    System.out.println("illegal age!");
  10.                 }
  11.         }
  12.         public int getAge(){
  13.                 return age;
  14.         }
  15.         void speak(){
  16.    System.out.println("age="+age);
  17.         }
  18. }
复制代码

7 个回复

倒序浏览
rt,那个age先是私有,后来又提供了公有方法可以进行访问,那么封装不是没有起到封装的作用吗?求大神解释!!

评分

参与人数 1技术分 +1 收起 理由
lwj123 + 1

查看全部评分

回复 使用道具 举报
提供公共的方法供其他类访问该类的私有属性,这就是对该属性的封装
在设置数据时,封装对该属性的赋值做了验证,是数据更加安全。
在调用数据时,需要调用公共方法才能调用到该类私有的成员

点评

恩恩,谢谢了,原来封装并不是一些原来理解的说法。  发表于 2015-3-17 10:47
回复 使用道具 举报
起作用了,一是起到了验证,二你只能使用他提供的方法进行数据的存取和读取

点评

恩恩,是可以在公共的get中添加一些控制代码!!  发表于 2015-3-17 10:49
回复 使用道具 举报
用方法去控制属性,提高程序的灵活性。你就想想那些getting和setting的方法在实际开发中不可能不只是一两句代码,而是根据需求而加入一些代码。

点评

恩恩,是的,是这样子,谢谢!  发表于 2015-3-17 10:51
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马