JAVA是一種「完全物件導向」的程式語言,想要把JAVA程式寫的「出神入化」的境界,就必須要熟悉物件導向的概念.
0. 以下我會舉出一些生活化的例子講解一下物件導向幾個重要的要點︰「類別」,「物件」, 「方法」,「實體變數」.
1. 類別(Class):每種物體都能分類,如狗、狼是犬類動物,獅子跟老虎是貓科動物,汽車都可以分類成跑車、越野車、休旅車等等,在JAVA裡所看到的Class就是類別了.
2. 物件(Object):一個物件有它的名稱、屬性、行為、作用、類別等等來定義該物件.一台跑車(物件)的分類是汽車(類別),它是一台紅色(屬性)的跑車,它的名稱叫作法拉利。用以上幾點我們就可以定義出一台紅色的法拉利.
JAVA Code DEMO :
Car Ferrari = new Car(red);
2.1 Car就是法拉利的類別,Ferrari就是它的名稱, new Car這個指令會產生一個有Car的性質的物件,以下會說明.new Car(red)裡的red是用來定義那台法拉利是甚麼顏色的車,是用「建構子」的概念來寫,在之後的文章中會解釋.
3. 方法(Method):相當於C/C++的Function,簡單來說它的功用就是真正執行物件的行為.就以上例來說明,汽車的功能就是能跑動(run),能加速(SpeedUp),能停止(brake).我們可以用方法來實作或驅動這些功能.
4. 實體變數(Instance Variable):就是類別中一些記錄物件屬性的變數.例如跑車的顏色被一個叫Color的實體變數來記載,
JAVA Code DEMO :
Ferrari.Color = red;
4.1 當在物件外部呼叫物件裡的變數或方法時,要用上面的方法來呼叫.
5. 簡單程式說明 *(// 為單行註解的符號,在它後面的文字都是註解,不會被執行)
// 定義一個Car的類別
Class Car(){
String Color; // 實體變數Color
int Speed = 0; // 實體變數Speed
// 定義跑動的方法
public void run(){
Speed = 1;
}
// 定義加速的方法
public void speedUp(){
Speed += 1;
}
// 定義停止的方法
public void brake(){
Speed = 0;
}
}
Car Ferrari = new Car(); // 創建一台叫Ferrari的車
Ferrari.Color = red; // 定義它的顏色(呼叫實體變數Color)
Ferrari.run(); // 呼叫方法run
Ferrari.speedUp(); // 呼叫方法speedUp
Ferrari.brake(); // 呼叫方法brake