2011年10月25日 星期二

JAVA 範例 ch09 Sample2

限制對成員的存取動作


/*限制對成員的存取動作*/
//車子類別
class Car
{
 private int num;   //將欄位設為private型態
 private double gas;   
 
 public void setNumGas(int n,double g)
 {
  if(g>0 && g<1000)   //傳遞過來的數值先加以檢核…
  { //是正確數值的話再進行指定的動作
   num=n;
   gas=g;
   System.out.println("將車號設為" + num + ",汽油量設為" + gas + "。");
  }
  else
  { //如果不正確數值就不進行指定
   System.out.println(g + "不是正確的汽油量。");
   System.out.println("無法變更汽油量。");
  }
 }
 public void show()
 {
  System.out.println("車號是" + num + "。");
  System.out.println("汽油量是" + gas + "。");
 } 
}

class Sample2
{
 public static void main(String[] args)
 {
  Car car1=new Car();
  
  //無法進行這樣的存取
  //car1.num=1234;   無法對私有成員進行存取動作
  //car1.gas=-10.0;
  
  car1.setNumGas(1234,20.5);   //務必記住,只能呼叫公用成員並設定其值
  car1.show();
  
  System.out.println("指定不正確的汽油量(-10.0)看看…。");
  
  car1.setNumGas(1234,-10.0);   //我們故意設定一個錯誤的值加以測試…
  car1.show();
 }
}

沒有留言:

張貼留言