向各位先輩請教: 最近公司內部要求要考EC-Council CASE .Net這張証照,請問有啥作用,在業界有用嗎? —– Sent from JPTT on my iPhone —
[請益] EC-Council CASE .Net証照請益
如題 看了stackoverflow的一個例子 class Cup { int capacity } class TeaCup : Cup { string flavour } class CoffeeCup : Cup { string brand } Cup c = new CoffeeCup(); public int measure(Cup c) { return c.capacity } 他的解釋是 you can pass just a Cup instead of a specific instance. This aids in generality because you don't have to provide a specific measure() instance per each cup type 問題是我不是只要 在Cup 類別中定義 measure這個方法 不就可以了嗎 為何不要在宣告物件的時候都 使用 CoffeeCup c= new CoffeeCup(); 請問多型的用途是? — ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.226.11.41 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1614828057.A.414.html
→ tnfshjcc: 給個箭頭等Job警察03/04 11:22
→ tnfshjcc: 洗杯子機器如果可以接受Cup而非每種Cup 就省很多功夫03/04 11:25
→ bbser: 不是每個class都需要measure這個方法03/04 11:27
推 hanshsu: Google一下啊 QQ 03/04 11:27
推 alihue: dependency injection 03/04 11:37
→ umum29: 岔題一下 用動物或物體當例子實在讓初學者摸不著頭緒03/04 11:41
→ umum29: 為什麼不拿實際有用的例子 像logger可以存檔案也可存DB03/04 11:42
推 YahooTaiwan: 本版接納多元問題討論,反正文章已經夠少了,不用管03/04 11:43
→ meowyih: 哈哈真的,教科書老是用甚麼動物還顏色的,明明真實例子03/04 11:43
→ meowyih: 的很多就是不用03/04 11:43
→ umum29: 或是DataBaseConnection可以多型成SQL MySQL ProsGre….03/04 11:44
→ umum29: 去stackoverflow查 一堆鄉民用的例子都比這些還經典03/04 11:45
推 hanshsu: 初學者可能連db都不知道啊…03/04 11:45
→ meowyih: 像寫2d遊戲會用各種不同的geometry,然後統一用同一個母03/04 11:45
→ meowyih: 類型畫上螢幕不好嗎?大家都愛寫遊戲呀~03/04 11:45
推 gn1943141: 你家國際牌插座如果只能用國際牌電器,就是GG思密達,03/04 11:50
→ gn1943141: 抽象化/標準化,搭配多型才能讓系統彈性適應變化03/04 11:50
推 jknm0510a: 插頭通常用adapter處理(開新戰場)03/04 11:53
推 gn1943141: Adapter比較像處理不同插座(歐規、中國、台灣)的問題03/04 11:59
推 vi000246: 買本設計模式看一下吧03/04 12:00
→ gn1943141: 講極端一點,想像如果每個電器的插頭都是不一樣的…03/04 12:03
推 OriginStar: 想成 human.washCup(Cup c) 是不是比較好懂阿 03/04 12:08
→ OriginStar: 不用為每種杯子都宣告一個method,也少了型態轉換的03/04 12:10
→ OriginStar: code,程式碼會更簡潔好維護03/04 12:10
O大的意思是,萬一沒有宣告method在 Cup 中,也可以做的意思? 但我的想法是直接把measure放在 Cup中 那麼所有子類別的Cup都可以用 ※ 編輯: empireisme (101.12.69.35 臺灣), 03/04/2021 12:14:36
→ alihue: 樓上 這樣會變成人在洗 c 罩杯 03/04 12:13
推 theedge: 發文請 implement Job介面 03/04 12:21
→ OriginStar: 主要是程式碼越變越胖時,要考量維護和擴充性 03/04 12:22
→ OriginStar: 例如之後有個robot.washCup(Cup c)出現,也比較好維護 03/04 12:23
→ OriginStar: 當然要作在Cup Class 本身也不是不行,有時要考量類別 03/04 12:24
推 soheadsome: 現在都馬pattern matching誰跟你多型 03/04 12:24
→ OriginStar: 的互動,有點難解釋就是了 03/04 12:25
推 taipoo: 推25樓QQ 03/04 12:30
→ jej: 多型 你的例子確實用處不多 03/04 12:38
→ jej: 但實作用在資料庫 可確保存取正確資料表 或欄位 03/04 12:38
→ jej: 在邏輯上 更是很多OO的基石 例如前幾篇策略模式 取代if else 03/04 12:38
→ jej: 或是複雜邏輯運算decorate 03/04 12:38
→ jej: 或是偵測變化observer 03/04 12:38
→ jej: 就是你看到設計模式中的那幾個常用模式 好處太多 缺點也有 03/04 12:38
→ jej: 缺點是能力不到位 維運複雜 03/04 12:38
→ jej: 或是撰寫者設計模式中毒 維運時名稱和物件運作不相關 混亂 03/04 12:38
→ jej: 總之就是觀察你們老闆 03/04 12:52
→ jej: 如果他是屬於找剛畢業 或是巨匠專業 免洗工程師的 03/04 12:52
→ jej: 勸你還是不要用OO甚至到OO的多型 03/04 12:52
→ jej: 如果老闆的老闆有鴻圖大業的抱負,老闆傾向找資深工程師 03/04 12:52
→ jej: OO就很有用了,在很多開放原始碼的套件都用的很兇 03/04 12:52
→ jej: 甚至套件EOS之後你還能透過原始碼了解功能 03/04 12:52
→ shooter555: 杯子自己又不會算 怎麼能把他放在杯子裡 除非你的杯子 03/04 12:53
→ shooter555: 內建計算機功能 03/04 12:53