Re: 不懂如何抽離物件(初學物件導向的問題)
我個人的理解是這樣: (雖然我也才接觸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之前, 先考慮架構唄
--
自High筆記(半荒廢)
http://legnaleurc.blogspot.com/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.146.194.91
討論串 (同標題文章)
完整討論串 (本文為第 4 之 8 篇):
OOAD 近期熱門文章
PTT數位生活區 即時熱門文章