搜尋此網誌

2013年10月13日 星期日

甚麼是類別

在物件導向程式設計 , 類別是一種藍圖 , 舉之前的車子為例, 車

子為實體, 而車子的設計圖稿就是所謂的類別. 有了設計圖稿才

能到工廠生產實際的車子.接下來實際示範車子這個類別的程

式碼 :




public class Car {
 /**
  * 顏色欄位
  */
 String color;
 
 /**
  * 設定車子顏色的方法
  * @param color
  */
 public void setColor(String color){
  this.color = color;
 }
 
 /**
  * 得到車子顏色的方法
  * @return
  */
 public String getColor(){
  return this.color;
 }
 
 public static void main(String[] args){
  
  Car car = new Car();//實際製造車子的實體,也就是用new這個關鍵字來創造物件.
  
  car.setColor("blue");
  
  System.out.println("The color of car is " + car.getColor());
  
 }
 
 
}





甚麼是物件

物件是相關狀態和行為的結合. 而軟體物件常常被用來模擬真實世界. 好比: 車子, 狗 , 和其他的

真實物品, 都可用物件的概念來表示. 我們以車子來做例子 , 車子這個物件可以有顏色 , 大小,

和速度之類的狀態, 然後我們可以提供相關的行為來設定和改變這些狀態. 在軟體物件我們把

狀態稱為欄位(field) , 而行為我們稱之為方法(Method). 物件導向程式設計有一個很重要的觀念--

data encapsulation(資料封裝). 所謂的資料封裝 , 就是隱藏內部狀態 , 但是透過物件的方法, 來和

其他物件或是外部應用程式達到溝通的目的.

軟體物件來做程式設計有以下好處:



  • 模組化 : 可以針對不同的應用, 維護單一物件的原始碼 , 而不會影響到其他物件的原始碼或程式 . 一旦物件創造出來後 , 便可以在應用程式內部傳遞使用.
  • 程式碼重用: 你可以利用別人已寫好的物件提供的功能 , 而不必自己從頭寫一個新的物件.
  • 除錯容易 : 如果某個物件發生問題,或是提供的功能不完善, 你可以把這個物件抽換成別的物件, 來達到需要的功能, 而不用重新寫一份新的程式.