new 和 override 的区别
2012-07-23 23:52
134 查看
new是继承类对基类方法的重写而在继承类中产生新的方法,这时基类方法和继承方法之间没有任何的关系了,可是override就不同了,它也是对基类中方法的重写,但此时只是继承类重写了一次基类的方法。
下面给大家举个例子:using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Test { class A { public virtual void Test() { Console.WriteLine("A"); } } class A1 : A { public override void Test() { Console.WriteLine("A1"); } } class A2 : A { public new void Test() { Console.WriteLine("A2"); } } class Program { static void Main(string[] args) { A a1 = new A1(); A a2 = new A2(); a1.Test(); a2.Test(); (a2 as A2).Test(); Console.Read(); } } }
相关文章推荐
- C#中重写(override)、覆盖(new)、虚拟(Virtual)关键字的区别
- C# 中virtual,override,new 的区别与用法(转载)
- C#中override重写与new隐藏的区别,以及C#与Java的Override区别
- 说说我理解的override和new的区别
- C#中的三个关键词new , virtual , override的区别
- C#new和override的区别
- C#中重写(override)和覆盖(new)的区别
- C#中隐藏(new)和方法重写(override)和重载(overload)的区别
- C#中隐藏(new)和方法重写(override)和重载(overload)的区别
- C#中override重写与new隐藏的区别,以及C#与Java的Override区别
- c# new and override区别
- c#中隐藏(new)和方法重写(override)和重写(overload)的区别
- C#中子类对父类中虚方法的处理有重写(override)和覆盖(new),他们有什么区别?
- 【转】实例讲解override和new的区别
- new、abstract、virtual、override,sealed关键字区别和使用代码示例
- Sealed,new,virtual,abstract与override的区别
- C#中new的用法,及与override的区别
- C#中new、override、virtual关键字的区别
- C#中多态override 和new的区别
- C# override,new 的区别