c# 繼承快速入門
在面向對象當中繼承是非常重要的,也是面向對象的三大特性之一(繼承、封裝、多態),今天我們來揭開他的神秘面紗。
話不多說,我們上菜。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; /** * 假設我們公司有兩種程序員: * java程序員指的是用java語法寫程序的程序員,用Jpro這個類表示; * C#程序員指的是用C#語法寫程序的程序員,用Cpro這個類來表示。 * 每個類都有一個WriteCode()方法。 * 都屬於程序員,用Programmer這個類表示。 * 現在公司來瞭一個項目,要求派某個程序員寫一個程序。 */ namespace inheritApplication { //程序員類(基類) class Programmer { public string name = "我是程序員"; } //java程序員類 class Jpro { public string name = "java程序員"; public string language = "我用java語法寫代碼"; } //C程序員類 class Cpro { public string name = "C#程序員"; public string language = "我用C#語法寫代碼"; } //編寫項目類 class Pro : Programmer //繼承基類 { public void WriteProgram(Jpro program) //繼承java程序員類 { Console.WriteLine("" + program.name + ":" + name + "," + program.language + ""); } public void WriteProgram(Cpro program) { Console.WriteLine("" + program.name + ":" + name + "," + program.language + ""); } } //主程序 class Program { static void Main(string[] args) { Pro p = new Pro(); Jpro p1 = new Jpro(); p.WriteProgram(p1); Cpro p2 = new Cpro(); p.WriteProgram(p2); Console.ReadKey(); } } }
寫好代碼後我們運行看看效果!
很顯然看出來,公司兩個程序員都繼承瞭程序員類。
總結:
父類包含瞭多少內容,派生類(子類)全部接受(包括屬性 字段 方法等),
可以重寫覆蓋,使用override重寫,可以使用base調用父類中的內容。
繼承可以減少代碼的冗餘,也為程序的修改提供瞭很大的方便之處。
當然,如果結合接口那就完美瞭,下一篇中我們將提到接口的實現。
以上就是c# 繼承快速入門的詳細內容,更多關於c# 繼承的資料請關註WalkonNet其它相關文章!