看板 PHP 關於我們 聯絡資訊
我先承認我是來宣揚 Java 的 [逃] 等等,我還沒有大膽到來這貶 PHP 捧 JSP 應該說,實務上你要用 PHP 還是 JSP 我不敢有意見 但是如果是在學習階段,嗯... 你為什麼要用 PHP 來學 OO 觀念呢? 或著說,任何 dynamic language / script language 都不太適合學 OO 觀念? 這樣講可能還是太冒險(謎之聲:但是你講了! [指]) 用最中立的講法,我建議你到 Java 學 OO 然後瞭解 OO 之後再回到 PHP 的世界中寫 OO 其實兩者寫法並沒有差那麼多(其實我常常沒辦法立刻判斷是 PHP 還是 Java) ※ 引述《htl74421 (<><魚仔<>< 薰~)》之銘言: : 感謝回答 ^^ : 目前我碰到的情況是原程式只下了一句 parent:get_data() ,然後我往上找了四代才找 : 到 get_data() 在哪裡, 原本我以為只是到上一代去找而已... 所以前面 t 大的文章其實講的很傳神 其實這是遺傳 其實四代還算好的... 有些 OO 摩天大樓...... [抖] 光 interface 就給你掛了五個十個 [淚目] : 這樣我就想到這中間如果有人不曉得底下有人去找原來的 get_data() 而又創了一個 : 那到了最下面的人不就慘了? PHP 的世界我不太確定 但是在 Java 當中,如果你 override 祖宗十八代的 method 那你得在 method 掛上 @override 這個 annotation 不然像 Eclipse 這種 IDE 就會給你 warning 在 @override 出來之前 你在 JavaDoc 也可以看到祖宗十八代有提供哪些 method IDE 也會告訴你到底是誰提供這個 method PHP... 我不知道 NetBeans 可以 support 到什麼程度 不過大抵上應該沒辦法這麼全面 反過來想,要蓋 OO 而沒有 IDE / JavaDoc 這類工具的輔助 這樣寫起來真的會快樂嗎? [遠目] 當然從小寫 Java 長大的我是很難想像啦 [死] : 所以說是不是要修正寫法改指定是哪一代的 get_data() 這樣比較保險? : 謝謝 ^^" 其實,這樣繼承起來就沒意義了 用例子來說明可能比較實在 請不要問我下面這個 case 有什麼實質意義 這只是展示一種可能性 是說我在 GWT 的 code 當中的確有看過類似的 pattern 想一下這個族譜(我用 Java 寫,其實意思一樣) interface 貓科 { public void 吃(Object food); public String 叫聲(); } abstract class 大型貓科 { public final void 吃(Object food) { this.大口咬(food); } public String 叫聲() { return this.大叫(); } public void 大口咬(Object food) { //狼吞虎嚥 } public abstract String 大叫(); } class 獅子 { public String 大叫() { return 獅子叫聲; } } class 老虎 { public String 大叫() { return 老虎叫聲; } } abstract class 小型貓科 { public void 吃(Object food) { //跳過 } } class 貓 { public String 叫聲() { return "喵~"; } } class 發春貓 extends 貓 { public String 叫聲() { return "喵嗚凹嗚喵嗚嗚嗚嗚~"; } } class 無嘴卡通貓 extends 貓 { public final void 吃(Object food) { throw new Exception("沒嘴怎麼吃"); } public final String 叫聲() { return ""; //沒嘴是要怎麼叫 } } class HelloKitty extends 無嘴卡通貓 { } 今天這個 HelloKitty 真的可以去指定說他的叫聲應該 follow 貓的叫聲嗎? 還有老虎跟獅子的「吃()」,子孫們一定只能大口咬 那又該怎麼辦? ===== 我也承認我是來混 P 幣的 [逃] -- 錢鍾書: 說出來的話 http://www.psmonkey.org 比不上不說出來的話 Java 版 cookcomic 版 只影射著說不出來的話 and more...... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.164.172.83
azurewings:推! 喵嗚凹嗚喵嗚嗚嗚嗚~ 07/12 13:24
tails32100:最近寫JAVA也是覺得JAVA好寫....不過真的很煩就是 07/16 21:49