java数据封装

java数据封装

1.理解:所谓数据封装,就是为了防止用户破坏数据,任意修改数据而做的一些防护措施。(避免数据被篡改,数据的合理性(可以用于规定数据范围),数据结果的正确性)
举例说明来保证数据的完整性
关于书中更精确的描述

public class circle{
double radius;//radius容易被修改为不规范的值,比如负数,此时就会得到一个不合理的数据。
static int numberOfObjects=0;//numberOfObjects是用来统计实例对象个数的,可是这里可以直接对他赋任意值(本来应该是不可以改变的值)

circle(double newRadius){
radius=newRadius;
numberOfObjects++;
}
static int getNumberOfObjects(){
return numberOfObjects;
}
double get Area(){
return radius*radius*Math.PI;
}
}

2.形式:使用private修饰符声明只有同一类能够访问该数据。声明次数据也是该类私有的,不能对其直接进行修改。


3.使用private之后数据有又怎么修改呢?我们可以设置读取器(getter)或访问器(accessor)读取数据,通过设置器(setter)或修改器(mutator)修改数据,即get方法和set方法。

//*get* public returnType getPropertyName()
//      public boolean isPropertyName()
//*set* public void setPropertyName(dataType propertyValue)
//上述程序可以修改为如下程序就能体会到数据封装的好处以及作用
public class circle{
private double radius;
private static int numberOfObjects=0;//此处numberOfObjects数值被定义为私有数据域不可更改保证了这个计算实例对象被创建次数的正确性。

public circle(double newRadius){
radius=newRadius;
numberOfObjects++;
}
public static int getNumberOfObjects(){
return numberOfObjects;
}
public double getRadius(){
return radius;
}
public void setRadius(double newRadius){//在设置半径时对输入值进行了判断,使得到有效数据。
radius=(newRadius>=0)? newRadius:0;
}
public double get Area(){
return radius*radius*Math.PI;
}
}

4.关于数据封装我一直迷糊不知道为什么用了private之后就行了,今天稍微明白一些东西便记录下来。总会有些收获的。上述是对java语言程序设计 基础篇 中对数据封装的总结。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值