鋼鐵人解釋物件導向程式

鋼鐵人解釋物件導向程式

這篇文章主要是用鋼鐵人為例子說明物件導性城市的基本觀念,最後用一個小的程式範例實作。

其實鋼鐵人是最佳物件導向設計的代表,看看鋼鐵人一代、二代、三代,

每個鋼鐵人從馬克一號、二號…一直到三代的無人自動駕駛的鋼鐵人

每一個鋼鐵人都是靠”物件”的模板不斷的改進、延伸功能。

什麼是Class ?

Class就是設計的藍圖。每次Tony要設計新一代的鋼鐵人的時候,都會呼叫出之前設計過的藍圖,

並且根據該設計的來圖加以修改、或是延伸其他功能。

這個設計的模板就是 Class,電影說,這個 Class 透過3D的方式呈現,讓Tony可以用雙手就可以進行設計的工作。

相信有一天寫程式也可以用類似的方式進行。

為什麼要有 Class?

物件導向程式設計的精隨就是希望可以被重複的利用。

可以根據之前設計過的藍圖進行修改或是延伸其他功能。

想像如果Tony每次設計新的鋼鐵人都要重頭開始,那是一件很累的事情。

有了模板,Tony只需要專注在這次要修改的功能或是延伸的功能即可。

什麼是 Object or Instance?

鋼鐵人要啟動的時候,還記得第一代的鋼鐵人。

需要穿著許多的鋼鐵零件,穿著完畢之後,必須要讓電腦開啟,

啟動所有的系統,飛行系統、武器系統、四肢關節活動系統等

Object or Instance  就是啟動完class之後的鋼鐵人。

Object 表示整個class被啟動、載入電腦記憶體執行。

 

初始化? Initialization?

開機的過程有許多的參數與設定值需要設定,就像鋼鐵人會在開基的時候檢查許多的系統。

這個過程就是初始化。對於程式來說,初始化就是透過Constructor啟動相關的系統,設定初始值。

那麼什麼是 Method?

鋼鐵人被啟動之後,就會賦予許多的”功能”,例如武器系統發射飛彈、例如飛行系統

這些”功能”,就是Method。多半的程式會寫在 Method提供各式各樣不同的功能。

所以Class是設計的藍圖,Class會定義許多的功能也就是提供的Method,

物件被呼叫啟動之後就會變成 Object or Instance,根據參數,就可以執行相關的功能 Method

飛行能源是否足夠?

舉例來說,這個程式會根據飛行能源的數據,

告訴我們如果飛行能源小於 20提出警告訊息

如果飛行能源flying power大於20則顯示正常。

這個程式中ironMan是一個class。Java程式語言中 Class Name就是檔名。

這個class定義一個method “main”

main 是一個很特別的method。只要該class被啟動,main是一定會第一個被執行的功能。

因此,我們可以在 main被執行的時候,定義 flying power 的初始值,並且判斷flying power是否低於20

[pastacode lang=”java” message=”” highlight=”” provider=”manual”]

public class ironMan{
	public static void main(String args[]){
		int flyingPower = 10;
		if (flyingPower < 20){
			System.out.print(“Flying power is lower than 20%.");
		}else{
			System.out.print(“Flying power is normal.");
		}
	}
}

[/pastacode]

 

Leave a Reply

Your email address will not be published. Required fields are marked *