l 封装的目的:
封装即隐藏细节,我们在很多时候程序中的一些数据不希望外部访问或更改,就需要通过封装来解决
将属性私有化 封装属性 不让外部直接访问该类的属性
带来的效果安全性高。
l 封装的步骤:
1. 将所有的属性值设置为:private。
2. 提供getter和setter方法对属性进行修改。
3. 可以借助工具来实现。在source-------generate getter and setter
l 下面是一些实例
在JAVA中如何创建一个商品对象?
Product类
proId int
proName String
price double
producingArea String
brand String
如果需要调用这些属性就可以使用对象名.属性值进行属性的修改。
如果我们传入一些非法值:例如传入price为 --200 的话。打印price属性的时候就会打印出-200这个值。
解决方法:就是利用封装来实现。因为里面的一些约束条件我们可以写在方法体里面,对值进行控制。
1. 将属性改为私有的
private int proId;//商品编号
private String proName;//商品名称
private double price;//价格
private String producingArea;//产地
private String band;//品牌
2. 添加方法
public int getProId()
{
return proId;
}
public void setProId(int proId)
{
this.proId = proId;
}
对输入的价格的值就可以进行约束了:
public double getPrice()
{
return price;
}
/**
* 设置价格的方法
* @param price
*/
public void setPrice(double price)
{
//传入的参数价格必须大于0元
if(price>0)
{
this.price = price;
}
else
{
//如果价格没有满足条件重新设定默认值
this.price=1;
}
}
l 思考:
我们编写的类的过程是一个封装吗?
编写方法时封装吗 ?
这些都是一个封装