2010年5月11日 星期二

JAVA Encapsulation(Java 封裝) , get/set method

§JAVA封裝,get與set method
封裝觀念在物件導向中語沒有什麼不同,只是Java的get與set使用方式上與ActionScript3規則不太相同,以下將Java與AS3,的get與set使用方式整理一下。

Java Encapsulation Example:
Java中可由abstract宣告,告知編譯器這是抽象類別。
這是一個Animal(動物)類別,他是一個抽象類別(形容並代表各種動物,並非具體的形容),所以宣
告為abstract,在JAVA中宣告為abstrace的類別是不可以透由new實體化物件

//Animal 類別
//命名空間,在Win系統上package代表一個資料架,這代表Animal這個類是放在animal資料夾理。
package animal; 
abstract public class Animal
{
 //宣告一個型別String,名稱為food的私有變數。
 private String _food;
 //建構子,Java的建構子是支援overlod的,之後談到method的overload再來介紹。
 public Animal()
 {
  //建構式,java中若不編輯,會自動隱含宣告一個空args的建構式。
 }
 //Food 封裝
 public void setFood(String food)
 {
  if(_food == food)
   return;
  _food = food;
 }
 public String getFood()
 {
  return _food;
 }
}