瀏覽單個文章
booger
Amateur Member
 
booger的大頭照
 

加入日期: Nov 2004
您的住址: 丁丁科技大學
文章: 45
我個人是在語法學到一個階段之後,才開始有一點感覺的
(從運算子多載那邊吧...)


我覺得OO的主要...步驟吧,是先針對介面寫程式,而不是針對實作。
例如用程序導向(c)寫個印表機,一開始就要把函數的參數規劃好,
不然後期會改的很辛苦,例如print_A4(Data d) 或是 print(Data d,int paper_type)
...之類的細節 (結構化程式設計)


用OOP的話,就是先把印表機切成好幾個小類別,
例如進紙匣、噴墨系統、資料串流...等,
然後規劃他們的互動和結構...

這部份如果規劃的不錯,改天你要寫台雷射印表機時,
只要把噴墨系統拿出來,把碳粉系統放進去,
再改一下外觀就可以了

因為物件和物件之間不會管對方的實作,而是用介面溝通,
譬如說碳粉系統不會管進紙匣是哪一種,反正有紙會送來就對了,

也就是說OOP是在比較抽象的地方來作規劃

也有人把這些常用的、經典的物件結構、互動方式整理出來,
變成一種可以重用的經驗,就叫做design pattern
__________________
動怒不動氣(對不滿的事情表達不悅,但是不讓其過份影響個人情緒)
挑嘴不挑食(對飲食頗有想法但是有得吃就吃)
舊 2007-09-24, 07:10 AM #35
回應時引用此文章
booger離線中