[問題] 求能釐清物件導向觀念的題目(use C++)

看板C_and_CPP作者 (胖逼=口=)時間14年前 (2011/10/04 14:18), 編輯推噓11(11040)
留言51則, 17人參與, 最新討論串1/1
語言:C++ 這個問題其實蠻奇怪的 就是最近面試發現公司都很要求物件導向 而我在學校所寫的程式都單純只是從頭到底那樣去寫 偶爾用用define或是function 就算是工作 因為之前做的是維護 不是開發 所以也不需要用到什麼物件觀念 就trace code就行了 物件導向的理論不外乎就那三樣 封裝 繼承 多型 不過個人比較想要實際練習寫一個有物件導向的程式來感受一下物件導向的威力 所以我想求一個C++的(簡單)(經典)題目 讓我做到物件導向的事情 或者該說是讓我了解到這個時候就要使用物件導向 希望題目盡量白話一點 一些使用到的關鍵字要說出來 感恩 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.252.102.225

10/04 14:22, , 1F
acm
10/04 14:22, 1F

10/04 14:26, , 2F
其實我會挺建議去讀讀看design pattern
10/04 14:26, 2F

10/04 14:26, , 3F
看過design pattern才知道「原來物件導向可以這麼用」
10/04 14:26, 3F

10/04 14:27, , 4F
不然我本來也只是當作「可以綁函式的struct」而已...XD
10/04 14:27, 4F

10/04 14:29, , 5F
effective c++
10/04 14:29, 5F

10/04 14:51, , 6F
去念 "深入淺出設計模式" 小題目感受不到OO的威力的
10/04 14:51, 6F

10/04 15:08, , 7F
dp 裡的 factory, command, adaptor, ... 個人感覺蠻常用
10/04 15:08, 7F

10/04 16:06, , 8F
標題已修改
10/04 16:06, 8F

10/04 19:07, , 9F
james大有推薦的書嗎??
10/04 19:07, 9F

10/04 19:10, , 10F
OOP解決的問題在於軟體的擴充及維護
10/04 19:10, 10F

10/04 19:11, , 11F
亦即你必需持續發展一套軟體,逐漸把功能加進去時
10/04 19:11, 11F

10/04 19:11, , 12F
OOP的好處才會顯現出來
10/04 19:11, 12F

10/04 19:13, , 13F
如果只是一個需求固定的「題目」那是否OOP的差異不大
10/04 19:13, 13F

10/04 20:07, , 14F
入門的話,推薦看"深入淺出設計模式"
10/04 20:07, 14F

10/04 20:08, , 15F
可以感受一下,當功能變更或擴充時,不良設計有何問題
10/04 20:08, 15F

10/04 20:09, , 16F
然後書本會再給你看看怎麼寫比較好
10/04 20:09, 16F

10/04 20:10, , 17F
瞭解想法之後就可以去看GoF的Design Pattern了
10/04 20:10, 17F

10/04 20:18, , 18F
我也推<深入淺出設計模式>,雖然是Java但容易理解
10/04 20:18, 18F

10/04 20:18, , 19F
不過近年大陸那邊有一大堆design pattern的入門書
10/04 20:18, 19F

10/04 20:19, , 20F
但有些例子我覺得不太直觀、有些用語實在不習慣
10/04 20:19, 20F

10/04 20:48, , 21F
謝謝 不過翻書太慢了 主要想先速成到面試可以嘴個幾句就行
10/04 20:48, 21F

10/04 20:48, , 22F
所以才想直接透過例子的方式 PS:我知道這不好 不過時間有限
10/04 20:48, 22F

10/04 20:49, , 23F
那其實真的弄懂了多型、virtual就差不多了
10/04 20:49, 23F

10/04 20:50, , 24F
面試被問過:「什麼時候會用到多型」,這個答案準備一下
10/04 20:50, 24F

10/04 20:51, , 25F
好 謝謝樓上的建議
10/04 20:51, 25F

10/04 21:11, , 26F
什麼時候會用到多型? 指標的時候嗎?
10/04 21:11, 26F

10/04 21:14, , 27F
我都是舉那個畫圖的老例子:每個圖形都有自己的draw函式
10/04 21:14, 27F

10/04 21:15, , 28F
caller只要呼叫Shape的draw,就會呼叫對應圖形的draw
10/04 21:15, 28F

10/04 21:15, , 29F
這樣圖形不管怎麼增加,caller都不需要修改... 大概這樣
10/04 21:15, 29F

10/04 21:49, , 30F
回答「指標的時候」→出局確定
10/04 21:49, 30F

10/04 21:51, , 31F
...
10/04 21:51, 31F

10/04 21:53, , 32F
XD
10/04 21:53, 32F

10/04 21:59, , 33F
你想要讓一個固定名稱叫draw的函數,有不固定的多種型態時
10/04 21:59, 33F

10/04 22:00, , 34F
就讓他多型,可以用指標達成,或用 C++ 的函數 overload
10/04 22:00, 34F

10/04 23:15, , 35F
follow一下, 小弟我現在履歷表上都不寫會C++....XD
10/04 23:15, 35F

10/05 00:12, , 36F
多型: 當你的程式需要滿足開放延伸 封閉修改原則時...
10/05 00:12, 36F

10/05 00:14, , 37F
或是當你不知道後人會寫什麼App但是你卻要可以控制它們..
10/05 00:14, 37F

10/05 10:21, , 38F
C只要看完二百多頁的書就可以寫得中規中矩了
10/05 10:21, 38F

10/05 10:21, , 39F
C++...
10/05 10:21, 39F

10/05 10:25, , 40F
c++...是個深淵
10/05 10:25, 40F

10/05 15:36, , 41F
priv 中肯...
10/05 15:36, 41F

10/05 15:52, , 42F
C要寫得中規中矩也非二百多頁就可以達到喔.畢竟它有很多
10/05 15:52, 42F

10/05 15:53, , 43F
惡魔藏在裡面.c++不用說了,它就是惡魔的產物.c++委員會
10/05 15:53, 43F

10/05 15:54, , 44F
應該是說: C還好唬人, C++就很容易露出底褲了...
10/05 15:54, 44F

10/05 15:54, , 45F
應該想朝著java邁進.但是卻讓惡魔慢慢接近撒旦
10/05 15:54, 45F

10/05 21:49, , 46F
我認為 封裝 繼承 都是為了多型而準備的
10/05 21:49, 46F

10/05 21:49, , 47F
多型的好處是可以訂出介面而實做可以交由不同的人開發
10/05 21:49, 47F

10/05 21:50, , 48F
介面跟實作分開 是我學習物件導向覺得最重要的一環
10/05 21:50, 48F

10/05 21:51, , 49F
平常可以多試著做一些抽象化的思考
10/05 21:51, 49F

10/05 22:12, , 50F
C++和java的思維差滿多的
10/05 22:12, 50F

10/05 22:14, , 51F
面試如果考「C++和java設計理念上的不同」肯定很有趣
10/05 22:14, 51F
文章代碼(AID): #1EYgLBFl (C_and_CPP)