2012年7月27日 星期五

要怎麼學物件導向設計?

這篇文章我想寫一下,我覺得學物件導向應該要學的東西。

先記下來,增加記憶

好~在學物件導向之前一定要先知道,什麼是類別,什麼是物件?

類別(Class):
在文章或是書上寫的類別是一種藍圖,一種設計圖,一種屬於抽象的概念,他是一個不屬於實體的東西,但他適合被拿來作參考。

物件(Object):
他是一種實體的東西,看的到,摸的到,生活周遭所看的到的東西,都是屬於物件,是一個真實存在一個位置,可以拿來被使用。

以現實生活方面來說類別是屬於一種設計圖,而設計出來的東西稱為物件,例如汽車,房子..

以程式碼來說類別是不存在真實記憶體的,換句話說物件是存真實記憶體,而物件也會有一個地址在。


如果類別及物件有個概念之後,接下來我們進入正題!

很多書上都會說物件導向的優點,那那些優點到底是怎麼來的?
我先來說一下他的優點有哪些,這網路的文章很多,找一下都會知道
 1.資料隱藏
 2.重複使用
 3.減少專案開發時間
 4.程式碼維護容易
 5........

這些優點也很常聽到,可是為什麼物件導向會有這些優點呢?
說到這裡就必須先了解~繼承、封裝、抽象、介面、多型

以剛剛優點例子來說,資料隱藏是屬於封裝的特性,重複使用是屬於繼承
那減少專案開發時間及程式碼維護容易是包括所有特性

但是說真的,一個以物件導向開發的專案,並不容易,而且會更耗費時間,
那奇怪了,剛剛優點不是說可以減少專案開發時間嗎?
為什麼跟這裡產生矛盾,以剛剛優點來說,其實是指如果下一份專案跟上一份專案是相同的,這時候你可以直接繼承以前的專案,並開發新的專案,所以這裡指的優點是在說以後的結果。


繼承、封裝、抽象、介面、多型
這些是學物件導向設計前必須學的東西,雖然不保證這些學完就一定會
,但是這些不學就一定不會 。

如果以上有錯誤的地方,都可以留言在文章裡面
謝謝!


 





沒有留言: