黑马程序员技术交流社区
标题:
封装中有些属性私有后,又提供公有方法访问,求解释
[打印本页]
作者:
董志立
时间:
2015-3-16 21:52
标题:
封装中有些属性私有后,又提供公有方法访问,求解释
class Person
{
private int age;
public void setAge(int a){
if(a>0&&age<130){
age=a;
speak();
}else{
System.out.println("illegal age!");
}
}
public int getAge(){
return age;
}
void speak(){
System.out.println("age="+age);
}
}
复制代码
作者:
董志立
时间:
2015-3-16 21:53
rt,那个age先是私有,后来又提供了公有方法可以进行访问,那么封装不是没有起到封装的作用吗?求大神解释!!
作者:
lwj123
时间:
2015-3-16 22:39
提供公共的方法供其他类访问该类的私有属性,这就是对该属性的封装
在设置数据时,封装对该属性的赋值做了验证,是数据更加安全。
在调用数据时,需要调用公共方法才能调用到该类私有的成员
作者:
43453186@qq.com
时间:
2015-3-16 22:45
起作用了,一是起到了验证,二你只能使用他提供的方法进行数据的存取和读取
作者:
ankje
时间:
2015-3-16 23:24
用方法去控制属性,提高程序的灵活性。你就想想那些getting和setting的方法在实际开发中不可能不只是一两句代码,而是根据需求而加入一些代码。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2