C# override和overload經(jīng)驗總結(jié)
C#語言還是比較常見的東西,這里我們主要介紹C# override和overload區(qū)別,包括介紹C# override和overload特點等方面。
C# override和overload特點
重載(Overload)類中定義的方法可能有不同的版本特點:
◆方法名必須相同
◆參數(shù)列表必須不相同
◆返回值類型可以不相同
覆寫(overwrite)子類為滿足自己的需要來重復(fù)定義某個方法的不同實現(xiàn),通過使用關(guān)鍵字override來覆寫。特點:
◆相同的方法名稱
◆相同的參數(shù)列表
◆相同的返回值類型
C# override和overload區(qū)別
◆override 表示重寫,用于繼承類對基類中虛成員的實現(xiàn)
◆overload 表示重載,用于同一個類中同名方法不同參數(shù)(包括類型不同或個數(shù)不同)的實現(xiàn)
- using System;
- using System.Collections.Generic;
- using System.Text;
- namespace Example07
- {
- class Program
- {
- class BaseClass
- {
- public virtual void F()
- {
- Console.WriteLine("BaseClass.F");
- }
- }
- class DeriveClass : BaseClass
- {
- public override void F()
- {
- base.F();
- Console.WriteLine("DeriveClass.F");
- }
- public void Add(int Left, int Right)
- {
- Console.WriteLine("Add for Int: {0}", Left + Right);
- }
- public void Add(double Left, double Right)
- {
- Console.WriteLine("Add for int: {0}", Left + Right);
- }
- }
- static void Main(string[] args)
- {
- DeriveClass tmpObj = new DeriveClass();
- tmpObj.F();
- tmpObj.Add(1, 2);
- tmpObj.Add(1.1, 2.2);
- Console.ReadLine();
- }
- }
- }
【編輯推薦】