[爆卦]多型java是什麼?優點缺點精華區懶人包

為什麼這篇多型java鄉民發文收入到精華區:因為在多型java這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者elements (元素)看板Soft_Job標題Re: [請益] 多型用在哪時間Thu Mar...

多型java 在 離島人|Humans Offshore Podcast Instagram 的最佳貼文

2021-09-10 22:26:19

⌨️ 聽完週末Robert在離島人的分享後,各位是不是想轉職到海外爽爽躺著賺了呢? 因為科技的發展以及疫情的影響,目前世界各地仍有大量的各種工程師職缺。若有興趣進入這個領域,歡迎參考下面幾個英語平台唷!話說台灣也有很多相關的機構和平台,麻煩👇🏼👇🏼下面留言👇🏼👇🏼讓大家知道你在這唷~ 免費教你學...


本魯 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
YahooTaiwan: 這麼基礎的東西也可以引起討論串,屌!! 03/04 17:35
allexj: 有時候越基礎的都要經過討論才發現自己並沒有搞清楚過 03/04 18:06
mercurycgt68: 哪有基礎 一堆 PHP 工程師一輩子沒搞懂過 還會說「 03/04 18:09
mercurycgt68: 工作中根本不需要用到什麼設計模式」 03/04 18:09
IamTD: 這才是多型阿...面試的時候10個大概只有1個有辦法回答 03/04 18:26
IamTD: 我相信很多人工作是不需要用到的...程度不到那邊 不會用到 03/04 18:26
ronald0000: 推這篇 03/04 18:38
del680202: 這不是學生還沒畢業就該了解的基本概念嗎... 03/04 19:29
ucrxzero: 了解的定義是什麼我再跟你討論 03/04 19:46
wulouise: 屬性繼承是多行的好處跟壞處之一 03/04 21:17
wulouise: 大部分的情況interface會比繼承好,繼承改的人要很小心 03/04 21:18
lee457088: 現在的學森都馬學爬說語 Python,沒人在學爪哇惹 03/04 23:37
tnfshjcc: Python也有Polymorphism呀 03/05 01:11
Firstshadow: 這不是大一計程c++的東西ㄇ == 03/05 02:00
mmonkeyboyy: 講是這樣講 有時再回頭看看舊的東西也不錯啊@_@~ 03/05 02:52
NCUking: 果然是非本科版 03/05 11:53
shooter555: 多型不就同一界面 裡面可替換不同實做 用虛擬函數先定 03/05 12:31
shooter555: 義函數格式 然後繼承的在各自實做 我都用C這樣寫 03/05 12:32
shooter555: 用函數指標模擬虛擬函數 用組合模擬繼承 03/05 12:55
shooter555: 說是基礎 但很多人不會這樣寫 03/05 13:02
newhandfun: 一堆本科沒上過物件導向好不好,別裝了 03/07 00:24
k20057: 這是c#不是java吧 03/07 14:35
s37166117: 本科沒上過OOP路過 後來面試被問爆 才翻完一本C#教學 03/09 04:45

你可能也想看看

搜尋相關網站