override 和 overload 的區別?
系列文章導航:
C#基礎概念之P/Invoke,StringBuilder 和 String
7.override 和 overload 的區別?
答:
override 表示重寫,用于繼承類對基類中虛成員的實現
overload 表示重載,用于同一個類中同名方法不同參數(包括類型不同或個數不同)的實現
示例:
Code 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(); } } }
結果:
BaseClass.F
DeriveClass.F
Add for Int: 3
Add for int: 3.3
全站熱搜