Re: 不懂如何抽離物件(初學物件導向的問題)

作者: legnaleurc (CA)   2008-09-02 19:45:13
我個人的理解是這樣: (雖然我也才接觸OO沒幾年)
如果你需要把程式的狀態( state )整理出有系統的架構
那就是使用OO的時機
比方說stack的最基本操作: push, pop, top, empty 等
你可以定義一個資料結構放stack, 再定義數個函式來定義它的操作
也可以直接包成一個物件
包成物件的好處是你可以利用既有的架構再生出另一個架構
這其實是比較設計層面上的問題
code reuse倒是不一定, 很多時候code是沒辦法reuse的( e.g.: abstract interface )
但是"架構", "設計"可以reuse
從物件的方式來思考也比較好組合元件
所以有人說C也可以寫OO, 是因為OO只是概念上的問題
Java的OO也可以寫得很假( e.g.: 充滿static method的class ... )
考慮OO之前, 先考慮架構唄

Links booklink

Contact Us: admin [ a t ] ucptt.com