Re: [請益] 多型用在哪

看板Soft_Job作者 (元素)時間4年前 (2021/03/04 16:30), 編輯推噓13(13010)
留言23則, 17人參與, 4年前最新討論串4/5 (看更多)
本魯 OO 不太好 但你這例子多型嗎 這就只是子類別繼承父類別的屬性吧 多型比較像這樣吧 class DataLoader { protected virtual string GetData() { //.. } public string Process() { // ... string data = GetData(); // ... } } class NetworkLoader: DataLoader { protected override string GetData() { // get from network... } } class FileLoader: DataLoader { protected override string GetData() { // get from file... } } DataLoader loader = networkEnabled ? new NetowrkLoader() : new FileLoader(); string processedData = loader.Process(); 讓子類別作他擅長的部份 父類別程式碼部分重用並且隱藏子類別的實作細節 函數只要能夠接受父類別的實體 所以使用父類別的函數也可以重用 要擴充只需要繼承父類別並且實作部分方法 ※ 引述《empireisme (empireisme)》之銘言: : 如題 : 看了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), 來自: 50.35.84.213 (美國) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1614846627.A.236.html

03/04 17:35, 4年前 , 1F
這麼基礎的東西也可以引起討論串,屌!!
03/04 17:35, 1F

03/04 18:06, 4年前 , 2F
有時候越基礎的都要經過討論才發現自己並沒有搞清楚過
03/04 18:06, 2F

03/04 18:09, 4年前 , 3F
哪有基礎 一堆 PHP 工程師一輩子沒搞懂過 還會說「
03/04 18:09, 3F

03/04 18:09, 4年前 , 4F
工作中根本不需要用到什麼設計模式」
03/04 18:09, 4F

03/04 18:26, 4年前 , 5F
這才是多型阿...面試的時候10個大概只有1個有辦法回答
03/04 18:26, 5F

03/04 18:26, 4年前 , 6F
我相信很多人工作是不需要用到的...程度不到那邊 不會用到
03/04 18:26, 6F

03/04 18:38, 4年前 , 7F
推這篇
03/04 18:38, 7F

03/04 19:29, 4年前 , 8F
這不是學生還沒畢業就該了解的基本概念嗎...
03/04 19:29, 8F

03/04 19:46, 4年前 , 9F
了解的定義是什麼我再跟你討論
03/04 19:46, 9F

03/04 21:17, 4年前 , 10F
屬性繼承是多行的好處跟壞處之一
03/04 21:17, 10F

03/04 21:18, 4年前 , 11F
大部分的情況interface會比繼承好,繼承改的人要很小心
03/04 21:18, 11F

03/04 23:37, 4年前 , 12F
現在的學森都馬學爬說語 Python,沒人在學爪哇惹
03/04 23:37, 12F

03/05 01:11, 4年前 , 13F
Python也有Polymorphism呀
03/05 01:11, 13F

03/05 02:00, 4年前 , 14F
這不是大一計程c++的東西ㄇ ==
03/05 02:00, 14F

03/05 02:52, 4年前 , 15F
講是這樣講 有時再回頭看看舊的東西也不錯啊@_@~
03/05 02:52, 15F

03/05 11:53, 4年前 , 16F
果然是非本科版
03/05 11:53, 16F

03/05 12:31, 4年前 , 17F
多型不就同一界面 裡面可替換不同實做 用虛擬函數先定
03/05 12:31, 17F

03/05 12:32, 4年前 , 18F
義函數格式 然後繼承的在各自實做 我都用C這樣寫
03/05 12:32, 18F

03/05 12:55, 4年前 , 19F
用函數指標模擬虛擬函數 用組合模擬繼承
03/05 12:55, 19F

03/05 13:02, 4年前 , 20F
說是基礎 但很多人不會這樣寫
03/05 13:02, 20F

03/07 00:24, 4年前 , 21F
一堆本科沒上過物件導向好不好,別裝了
03/07 00:24, 21F

03/07 14:35, 4年前 , 22F
這是c#不是java吧
03/07 14:35, 22F

03/09 04:45, 4年前 , 23F
本科沒上過OOP路過 後來面試被問爆 才翻完一本C#教學
03/09 04:45, 23F
文章代碼(AID): #1WG9gZ8s (Soft_Job)
文章代碼(AID): #1WG9gZ8s (Soft_Job)