面向對象之封裝

封裝的優點

   封裝優點:①隱藏細節,關閉實現細節②對屬性進行有效的驗證③控制屬性的讀寫權限④類內部可以自由修改⑤減少耦合

   封裝是實現屬性封裝使用private 關鍵字和set/get方法實現封裝

package Goods;
/**
 * 商品類包含商品的屬性:名稱,價格
 * @author Administrator
 *
 */
public class Goods {
	private String name;
	private double price;
	/**
	 * 封裝屬性name,提供使用name屬性的訪問器
	 * @return,返回name屬性
	 */
	public String getName() {
		return name;
	}
	/**
	 * 封裝屬性name,提供修改name的修改域,並對數據進行驗證
	 * @param name
	 */
	public void setName(String name) {
		try{
			/*對數據進行驗證*/
			if(name != null){
				this.name = name;
			}else{
				throw new NullPointerException();
			}
		}catch(NullPointerException e){
			e.printStackTrace();
		}
	}
	/**
	 * 封裝屬性price,提供訪問器
	 * @return
	 */
	public double getPrice() {
		return price;
	}
	/**
	 * 封裝屬性price,提供域修改器,並對數據進行驗證
	 * @param price
	 */
	public void setPrice(double price) {	
		try{
			if(price != 0){
				this.price = price;
			}else{
				throw new NullPointerException();
			}
		}catch(NullPointerException e){
			e.printStackTrace();
		}
	}
}



    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章