多型概念:讓乙個物件能夠表現多種狀態(型別)
實現多型的手段;1、虛方法 2、抽象類,3、介面
1、虛方法將父類的方法標記為虛方法使用關鍵字virtual,這個方法可以被子類重寫一遍
虛方法:將子類父類的方法標記為虛方法用關鍵字:virtual。這個函式可以被子類重寫override
使用需方法最主要的是找出父類
**分析
1.不適用虛方法時
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace _01201多型
;//裡式轉換法
for (int i = 0; i < per.length ; i++)
else if (per[i] is chinese)
else if (per[i] is russians)
else if (per[i] is japanese)
else
}console.readkey();}}
class person
set
}public void printinfo() //列印資訊的方法
", this.name);
}public person(string name) //有參建構函式
}class chinese : person
", this.name);
}public chinese(string name) //chinese類的建構函式顯示的呼叫父類的有參建構函式
: base(name)
}class american : person
", this.name);//列印資訊的方法
}public american(string name)//有參建構函式顯式的呼叫父類的有參建構函式
: base(name)
}class japanese : person
", this.name);
}public japanese(string name)//有參建構函式顯式的呼叫父類的有參建構函式
使用多型虛方法後可以減少**量
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace _01202多型
;//裡式轉換法
for (int i = 0; i < per.length; i++)
console.readkey();}}
class person
set
}public virtual void printinfo() //列印資訊的方法
", this.name);
}public person(string name) //有參建構函式
}class chinese : person
", this.name);
}public chinese(string name) //chinese類的建構函式顯示的呼叫父類的有參建構函式
: base(name)
}class american : person
", this.name);//列印資訊的方法
}public american(string name)//有參建構函式顯式的呼叫父類的有參建構函式
: base(name)
}class japanese : person
", this.name);
}public japanese(string name)//有參建構函式顯式的呼叫父類的有參建構函式
: base(name)
}class russians : person
", this.name);
}public russians(string name)
: base(name)
}class english : person
public override void printinfo()
",this.name);}}
}
執行結果:
虛方法的練習:老闆宣布開始工作,人事部全體成員開始工作,銷售部全體成員開始工作,技術部全體成員開始工作
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace _0120301多型虛方法練習
}public class boss
}public class personnaldepartment : boss //人事部類
}public class salesdepartment : boss //銷售部
}public class technicdepartment : boss //技術部類}}
執行結果:
C語言實現多型
c 中的多型是指 通過基類物件的指標或者基類物件的引用呼叫虛函式 表現更多派生類的特性,但根據c 多型的實現,我們發現這種方法存在一定的空間和效率的折損。不可否認,多型輕鬆解決了很多任務程中遇到的問題,這與 pure c 的解決方法比起來,更為優雅。在考慮移植性上,c 的光芒要蓋過 c 但 c 的多...
C語言實現多型
多型性是物件導向程式設計的乙個重要特徵,利用多型性可以設計和實現乙個易於擴充套件的系統。顧名思義,多型的意思是多種形態,在c 程式設計中,多型指的是 具有不同功能的函式可以用同乙個函式名,這樣可以用乙個函式名呼叫不同內容的函式。c 的多型分兩種 靜態多型性和動態多型性。c 中的函式過載和運算子過載實...
C 語言實現 C 多型
c 中的多型是指 通過基類物件的指標或者基類物件的引用呼叫虛函式 表現更多派生類的特性,但根據 c 多型的實現,我們發現這種方法存在一定的空間和效率的折損。不可否認,多型輕鬆解決了很多任務程中遇到的問題,這與 pure c 的解決方法比起來,更為優雅。在考慮移植性上,c 的光芒要蓋過 c 但 c 的...