精華區beta Programming 關於我們 聯絡資訊
※ 引述《Email.bbs@bbs.csie.ncku.edu.tw (被踩在腳下的副工程師)》之銘言: : ※ 引述《pikemon.bbs@bbs.sayya.org (皮卡)》之銘言: : > 錯哩,java很容易,為啥要把Java跟Class綁在一起呢? : > 自己需要那些class再去看那方面的文件就好。 : > 為什麼要看那麼多class呢? : 不是把Java跟Class綁在一起,而是你的Class瞭解越多,越好上手, : 有時候人家早就把這個功能寫好了,結果你又找不出怎麼使用, : 一直在嫌很爛,突然間才找到是綁在另一個類別的 Class裡面, : 這時候才會讓你昏倒...以前花那麼久的時間找不到如何使用, : 一度還想自己寫,結果才發現早就有了...這就是你對全體Class架構 : 不熟的原因,你既然要用這套程式語言,當然懂越多越好, : 就像炒菜,只有鹽、味精當然也可以烹調,但有醬油,要烹調 : 一定更順手,事先你不知道有這個類別存在,沒下功夫去研讀過, : 以後寫程式根本就是礙手礙腳的。 : > 何不說,要知道你每個function的定義是幹麻更學不完呢? : > 一家公司如果有300個class : > 那換成純function可能就超過三十萬了XD : 不可能那麼多...即使有那麼多,就像你講的..要用的時候才去查就好了.. : 那個早就分類分好了,你有查過 MS SDK 就知道了..他就像這樣,是一種 : 樹狀圖,你先找出你要的分類內的小分類就夠了,例如字串模組裡面的複製功能。 : 其實 Class的概念就是從這套體系演變來的,以前叫做模組,現在把全部的函數 : 包起來放在一個 Class 裡面讓你使用(當然Class沒這麼粗糙,他的理念更多)。 : function 才不需要學,是要用的時候才去查就好,Class 是需要稍微記憶過, : 要頭腦很清楚,才不會無從下手。 講到MS SDK? 不巧 小問一下 你真的玩過嗎? 裡面有多少function??多少你不知道的??多少你做過的函數最後裡面還有的呢?? 函數那麼多才是真得不知道要"稍微"記憶才行。 我MS SDK也用過一堆!我同朋做專題3不50就來問我XXX有沒有function?? 我就能馬上回應。有或有印象有或完全沒印象,以前有過從第一個玩到最後一個的經驗 敢問大大,你有過嗎? 一直說物件不好查??是物件才讓你知道有多少東西可以查!? 並不是MS SDK好查OK?物件的book真的是好查到爆!! 再者,物件通常都會提供index給你用? 啥是index?..問這個的話那我就無言了.. 我只能說,記物件比記函數快很多!!找物件也比找函數快很多!! : > 各式各樣的函數?!那為啥你又說java的class多? : > 還有! 寫OO的時候不需要知道底層在幹麻的,這才是OO的王道! : > 要show一張圖片何必要學一堆影像壓縮呢? : > 要做低階的工作別以為OO作不到唷!! : > 你說函數多,函數強?請問一下用standard library你寫一個heap要寫多久? : > 我用class只要3秒吧XD : > 只需要去學自己需要的東西就好 : > 直接繼承下來override一下就KO了。一點都不難! : > 就說OO要先懂再來談吧! : 對 OO 的理念來講,真的就是你講這一句話而已..阿就是override來以嘛~~ : 我不用去瞭解整個架構啦~~但我們還是回到現實面,用同樣的例子,請把 : Edit物件的字串由原來的向左靠把他改成靠右這樣就好,真的不難啦.. : 大概程式碼兩三行而已..我就舉這樣的小例子就好,你有「能力」去把這個 : 功能改寫嗎?? 你沒實際去寫過,看到就說不難,可能會吃鱉。但你有曾經嘗試 抱歉!!正巧寫過XD,Delphi裡面的TEdit正好這項不能用 小弟花2行code完成(秒殺題),為啥? 請查中東語系XD 又問函數您要改多少? sorry.. 下面太長了 真的還滿懶得看的 言盡於此 pikemon跟sekya是同發言者!! 我回了很多也看了很多。我對這些文有點懶得看了..各位加油吧!! : 靠自己去解決這個問題了,而不是靠人家給你這個題目的答案,那我就說你真的 : 很強。OO他的理念就是要把你想要的功能再覆寫過就好,書上都寫得的清楚,讓 : 你也覺得似乎真的就是真的這麼容易,但到了現實面,你有去遇過這些問題後, : 你才知道好像有一點點被騙的感覺(書上寫的這個理念沒騙你喔~他真的就是這麼 : 簡單,真的也是只有就要這樣做而已,沒啥..就是 override),但寫程式要的是 : 能真正解決問題,而不是只會出一張嘴,或只知道這套理論就好,現實面這個題 : 目看你要改寫這個功能要花多久時間??(不是靠別人給你答案,是自己寫出來才 : 算數),反正這題題目真正 coding 的時間只需五分鐘而已(還嫌太長),但你有 : 能力去解出這題,我想可能要花一天以上甚至更久。 : 以下我就不想繼續講了,OO的物件包裝是兩面刀的東西,他確實有簡化的功效, : 在你看來寫程式就是堆積木而已,沒啥..OO 的真實面是他會讓你的功力減弱, : 你沒有能力去改善你所要的功能,人家都把程式碼包裝起來了,你根本就不知道 : 原理,要你 override class 裡面一個"方法" 談何容易??? 書上理論歸理論, : 都寫的好像真的很容易容易,但事實上是如此嗎?上面那一段習題你解出來了嗎?? : 我是比較現實的人,能解決問題就好,管你是不是用 OO 還是用非 OO 在寫程式, : 這個要是傳統的程式,這題我相信你很快就解出來了,因為他的程式碼都是透明的, : 你馬上就找到他靠左的那一段程式碼,馬上可以改寫,但程式碼都是透明的,也就是 : 讓OO派唾棄的地方,這個是見仁見智,你的系統不需修修改改,當然沒啥問題, : 系統一天到晚要改,還是透明一點比較好。 : 我是實戰派的,不是那種理論派的程式設計師,能解決問題且"不需再去保養程式" : 就是我的理念,我才不管什麼 OO非OO..人家要我用什麼我就用什麼寫,我都有能力 : 去寫就好了。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.104.35.132