C# override和overload經(jīng)驗(yàn)總結(jié)
C#語(yǔ)言還是比較常見(jiàn)的東西,這里我們主要介紹C# override和overload區(qū)別,包括介紹C# override和overload特點(diǎn)等方面。
C# override和overload特點(diǎn)
重載(Overload)類(lèi)中定義的方法可能有不同的版本特點(diǎn):
◆方法名必須相同
◆參數(shù)列表必須不相同
◆返回值類(lèi)型可以不相同
覆寫(xiě)(overwrite)子類(lèi)為滿(mǎn)足自己的需要來(lái)重復(fù)定義某個(gè)方法的不同實(shí)現(xiàn),通過(guò)使用關(guān)鍵字override來(lái)覆寫(xiě)。特點(diǎn):
◆相同的方法名稱(chēng)
◆相同的參數(shù)列表
◆相同的返回值類(lèi)型
C# override和overload區(qū)別
◆override 表示重寫(xiě),用于繼承類(lèi)對(duì)基類(lèi)中虛成員的實(shí)現(xiàn)
◆overload 表示重載,用于同一個(gè)類(lèi)中同名方法不同參數(shù)(包括類(lèi)型不同或個(gè)數(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();
- }
- }
- }
【編輯推薦】


















