看板 Soft_Job 關於我們 聯絡資訊
※ 引述《csfgsj (Lazy bone)》之銘言: : ※ 引述《xtxml (赤木巧☠)》之銘言: : : 大哥,你到底懂不懂『繼承』這兩個字的意思啊? : 我對「繼承」的了解是: : 對既有源代碼的再利用 : 它很像API,卻不是API : 主其事又把它宣傳的像是API : 說穿了,就是將既有的源代碼,以所謂Class為單位 : 作全部的Copy & Paste : 這個動作你不用作,Compiling的時候Compiler會自動幫你作 : 跟傳統Copy & Paste比起來,它的特性是: : 1, 只能Copy & Paste整個Class,不可分拆,不可減少 ......你可以減少,也可以分拆啊。 甚至你不喜歡現在的繼承樹,你也可以寫 wrapper 拆出新的繼承樹。 只要 class allow overwrie ,基本上這取決於實作者自己的需要啊。 那你怎麼解讀 overwrite 這件事情? 如果你完全不想 copy & paste class 實作,那 interface 是你的選項。 : 2, Copy & Paste 使用者不會知道,到底Copy 到了什麼 這問題我認為答案是不一定,他可以不知道,也可以知道。 : 3, 只能對Class作業,單獨的Struct、Function等不接受「繼承」 我比較好奇在這定義底下,你怎麼看 function currying 這件事情。 : 4, 有一堆GGYY的規則要遵守,什麼覆蓋不覆蓋之類的..etc. ...... 請定義「GGYY」。XD 你前面 12 跟你的 4 剛好打架打一團, 現在是在演以子之矛攻子之盾嗎? : 所以它比起傳統Copy & Paste死板、麻煩多了 : 也比較「隱晦」 : 傳統Copy & Paste強迫你去了解Copy & Paste的對象 : 「繼承」刻意要你去當瞎子 : 如果你不想當瞎子,想自己會往下挖 : 「OOP」會有很多地方等著來折磨你,讓你知難而退 是喔,我都不知道原來改個變數名稱要改 n 個複製地方還要擔心漏掉, 原來是要我們好好了解 copy & paste 對象的寶貴苦思咧。 我認為這是無生產力而且讓開發成本大幅上升的一個蠢論述。 討厭 oop ,你可以用 functional 概念, 包裝重複利用程序以利處理, 不去使用繼承樹跟介面帶來的好處(或壞處),仍然能確保邏輯一致性。 但如果回到 copy & paste 來 break DRY 原則, 這問題除非你前提是你的程式碼根本不會被 copy & paste, 或者是你 copy & paste 之後永遠不會修改程式碼。 不然對我來說,等於毫無意義的通篇謬論。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.228.183.125 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1425346247.A.3C4.html ※ 編輯: TonyQ (61.228.183.125), 03/03/2015 09:31:53 ※ 編輯: TonyQ (61.228.183.125), 03/03/2015 09:35:38 ※ 編輯: TonyQ (61.228.183.125), 03/03/2015 09:36:02
yzugsr: s/overwrit?e/override/g ?? 03/03 14:12
TonyQ: @yzugsr you are right. 這兩個字我老是抓不準時機。XD 03/04 11:51
csfgsj: 解決問題的方案,剛好就是問題的來源 03/05 09:14