Re: [請益] 多型用在哪
本魯 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();
: 請問多型的用途是?
--
這麼基礎的東西也可以引起討論串,屌!!
有時候越基礎的都要經過討論才發現自己並沒有搞清楚過
哪有基礎 一堆 PHP 工程師一輩子沒搞懂過 還會說「
工作中根本不需要用到什麼設計模式」
這才是多型阿...面試的時候10個大概只有1個有辦法回答
我相信很多人工作是不需要用到的...程度不到那邊 不會用到
推這篇
這不是學生還沒畢業就該了解的基本概念嗎...
了解的定義是什麼我再跟你討論
屬性繼承是多行的好處跟壞處之一
大部分的情況interface會比繼承好,繼承改的人要很小心
現在的學森都馬學爬說語 Python,沒人在學爪哇惹
Python也有Polymorphism呀
這不是大一計程c++的東西ㄇ ==
講是這樣講 有時再回頭看看舊的東西也不錯啊@[email protected]~
果然是非本科版
多型不就同一界面 裡面可替換不同實做 用虛擬函數先定
義函數格式 然後繼承的在各自實做 我都用C這樣寫
用函數指標模擬虛擬函數 用組合模擬繼承
說是基礎 但很多人不會這樣寫
一堆本科沒上過物件導向好不好,別裝了
這是c#不是java吧
本科沒上過OOP路過 後來面試被問爆 才翻完一本C#教學
35
[心得] C#基礎名詞解釋會發這篇文主要是面試被洗臉 我都會做啊 但我就不會解釋啊 雖然是寫給自己看的 但就分享出來吧25
[請益] Spring boot的依賴注入降低耦合的例子推文有個連結有解答我的疑惑 感謝bron大 文章有點長 先說說我對依賴注入的理解 Spring boot13
[請益] Database String Array Type各位大大好 小弟是一間小公司裡 負責部分核心業務的軟體工程師 為了日益多樣的客群,被安排要規劃新的設計 程式語言使用的是Java,資料庫是Postgres9
[分享] 用一個簡單的數學公式來幫忙設計OOP類別大家好,小弟一直覺得 OOP 很困難、設計類別很困難。 我一直想找一個比較量化分析的方式,在工作時輔助設計類別。 於是我設計了一個簡單的數學公式 跟大家分享一下這個公式,謝謝大家 網頁好讀版:10
Re: [請益] Spring boot的依賴注入降低耦合的例子很久沒寫Java了 就個人觀念提供簡單思考線索 基本上根據你的內容覺得你對解耦合還沒有很理解 講直白一點 當你import類別就是耦合了3
[心得] 2020-3-4 每日新聞#每日新聞 # 2020-3-4 每日新聞 # FB: # C++測驗網站整理3
[挖礦] logfile長這樣後 挖礦軟體卡住[2022-01-22 00:01:05] [ERROR] [CPUDIAG] System.InvalidOperationException: 無法 載入計數器名稱資料,因為從登錄讀取到無效的索引 ''。 於 System.Diagnostics.PerformanceCounterLib.GetStringTable(Boolean isHelp) 於 System.Diagnostics.PerformanceCounterLib.get_NameTable() 於 System.Diagnostics.PerformanceCounterLib.get_CategoryTable()- 其實就是在做 instance 的管理 物件導向一個很重要概念就是 多型 所以你可以在 runtime 再決定 instance 到底是什麼 IoC 就是實體是外部送進來 不要自己去 new DI 只是在提示 要送東西進來的人說 你想要的是什麼東西