new与override区别
2014-09-20 16:28
162 查看
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Newoverride
{
class Dad
{
public Dad()
{
Console.WriteLine("Dad construtor");
}
public virtual void method()
{
Console.WriteLine("Dad method");
}
}
class SmallSon : Dad
{
public SmallSon()
{
Console.WriteLine("Smallson construtor");
}
public override void method()
{
Console.WriteLine("override Smallson method");
}
}
class BigSon : Dad
{
public BigSon()
{
Console.WriteLine("BigSon construtor");
}
public new void method()
{
Console.WriteLine("new BigSon method ");
}
}
class Program
{
static void Main(string[] args)
{
Dad f = new Dad();
f.method();
Dad f1 = (Dad)new SmallSon();// 先初始化Dad(),然后再初始化SmallSon()
f1.method();//override smallson method
Dad f2 = (Dad)new BigSon();// 先初始化Dad(),然后再初始化Bigson()
f2.method();// Dad method
BigSon s = new BigSon();
s.method();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Newoverride
{
class Dad
{
public Dad()
{
Console.WriteLine("Dad construtor");
}
public virtual void method()
{
Console.WriteLine("Dad method");
}
}
class SmallSon : Dad
{
public SmallSon()
{
Console.WriteLine("Smallson construtor");
}
public override void method()
{
Console.WriteLine("override Smallson method");
}
}
class BigSon : Dad
{
public BigSon()
{
Console.WriteLine("BigSon construtor");
}
public new void method()
{
Console.WriteLine("new BigSon method ");
}
}
class Program
{
static void Main(string[] args)
{
Dad f = new Dad();
f.method();
Dad f1 = (Dad)new SmallSon();// 先初始化Dad(),然后再初始化SmallSon()
f1.method();//override smallson method
Dad f2 = (Dad)new BigSon();// 先初始化Dad(),然后再初始化Bigson()
f2.method();// Dad method
BigSon s = new BigSon();
s.method();
}
}
}
相关文章推荐
- c#中new和override的区别
- (旧文重贴)真是惭愧,翻译代码的过程中,才明白了new和override的区别。
- 浅谈c#中new和override的用法区别
- C#中override重写与new隐藏的区别,以及C#与Java的Override区别
- c#中,new 和 override 的区别
- new 和 override 的区别
- C#中隐藏(new)和方法重写(override)和重载(overload)的区别
- new和override的区别
- 这篇文章不错,介绍了virtual abstract override new 的使用区别
- C# new override 的区别
- 转 c#中new和override的区别
- C#中new和override区别
- new和override的区别
- 隐藏(new)和方法重写(override)和重载(overload)的区别
- override与new的区别
- override 和 new 的区别
- 子类对父类中虚方法的处理有重写(override)和覆盖(new)的区别
- new 与 override的区别
- 浅析C#中new、override、virtual关键字的区别
- 继承类中override和new的区别