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調用父類中的內容。

繼承可以減少代碼的冗余,也為程序的修改提供了很大的方便之處。

當然,如果結合接口那就完美了,下一篇中我們將提到接口的實現。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM