(1)使用Virtual關鍵字Override從寫
父類子類代碼如下,不能修改public 為其它權限
public virtual void Clear() { UpdateView(); }
public override void Clear() { base.Clear(); }
(2)使用new覆蓋
可以從寫public 為private
public void Clear() { UpdateView(); } private new void Clear() { base.Clear(); }
示例:
namespace ConsoleApplication2 { class Program { static void Main(string[] args) { ExtUtil v=new ExtUtil(); v.Clear(); Console.ReadLine(); } } public class BaseUtil { public void Clear() { Console.WriteLine("a"); } } public class ExtUtil:BaseUtil { public new void Clear() { Console.WriteLine("b"); } } }
輸出b
