程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#之多態

C#之多態

編輯:C#入門知識

1、多態的含義

同一操作作用於不同的對象,可以有不同的解釋,產生不同的執行結果。

2、多態的類型


(1)編譯時的多態性

編譯時的多態性是通過重載來實現的,對於非虛的成員來說,系統在編譯時,根據傳遞的參數、返回的類型等信息決定實現何種操作。

(2)運行時的多態性

運行時的多態性就是指知道系統運行時,才根據實際情況決定實現何種操作。

C#中運行時的多態性是通過覆寫虛成員實現。

3、重載與覆寫


(1)重載:

方法名必須相同;

參數列表必須不相同;

返回值類型可以不相同。

(2)覆寫

子類為滿足自己的需要來重復定義某個方法的不同實現。通過override關鍵字來實現覆寫,並且只有虛方法和抽象方法才能被覆寫。

特點:

方法名稱相同;

參數列表相同;

返回值類型相同。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication13
{
    class Program
    {
	//調用
        static void Main(string[] args)
        {
            Square tt = new Square();
            Console.WriteLine(tt.Getsides());

            Triangle dd = new Triangle();
            Console.WriteLine(dd.Getsides());


        }
    }

    /// 
    ///定義一個Sharp圖形類
    /// 
    abstract public class Sharp
    {
        public abstract int Getsides();
    }
   
    /// 
    ///  //派生類:Square和Triangle
    /// 
    public class Square : Sharp
    {
        public override int Getsides()
        {
            return 1;
        }
    }

    public class Triangle : Sharp
    {

        public override int Getsides()
        {
            return 2;
        }
    }

}



  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved