身為軟體開發者, 我只在乎所學的技術是否能協助我完成整個開發工作, 至於物件導向的優劣問題與未來發展就留給專家學者們去論述 ! 我之前也說過了, 物件導向的概念教學隨處都可以搜尋到, 我不想在這裡多加詳述, 僅針對物件導向的概念做一番簡略描述.
在談論本篇主題前, 我假設您對函式的用法已經相當瞭解.
函式的宣告、函式的呼叫、參數 (引數) 的代入、函式的傳回值 ... 等等
先做個簡單測試 :
(修飾詞不同)
private void myFunction0 ( ) { .... }
public void myFunction1( ) { .... }
(傳回值 與 參數 的運用)
public int myFunction2 (int num1, int num2 ) { .... }
public double myFunction3 (double num1, double num2) { .... }
上面的幾個函式如果您無法理解它們的意義, 那麼請您先把 [ 函式 ] 這個課題學好後再來碰觸物件導向的知識會比較好, 因為 [ 函式 ] 一詞在物件導向的 class (類別) 中將會改以 [ 方法 ] 來稱呼.
class (類別) 與 instance (物件) 的關係 : 我用圖來說明
在程式設計階段中, 你可以將 class 當成是一個模板來設計, 透過 new 關鍵字就可以產生與 class 相關的 [ 物件 ]; 在程式執行期間 (Runtime), 實際參與運作的就是這些 [ 物件 ].
我用簡略的程式碼來表示 : (Java)
===============================
class Monster {
屬性 : (略)
方法 : (略)
}
.......
Monstre myMonster = new Monster(); // 產生一隻 Monster 物件 myMonster
===============================
這個 class (類別) 的名稱就是 Monster, 而 myMonster 就是 instance (物件).
我們來創造更多與 Monster 相關的物件 ~ 沿用之前的 class Monster { .... }
====================================
// 以 ArrayList<> 方式宣告物件陣列清單
ArrayList<Monster> myMonster = new ArrayList<Monster>(); ....
for (int i=0; i<10; i++) { // 準備創造10 個
Monster m = new Monster(); // 先產生單隻的 Monster 物件 m
myMonster.add(m); // 將單隻的物件 m 陸續加入陣列清單中
}
====================================
沒有留言:
張貼留言