override 和 new ????override 函数重载
new 在堆上分配内寸

解决方案 »

  1.   

    http://expert.csdn.net/Expert/topic/1155/1155957.xml?temp=.1558191
      

  2.   

    1. New 
    New 就是为了抹掉父类的方法和属性. 比如父类的某一个public的方法你不想让他在子类中起作用或者是起其他的作用.
    using System;namespace MyName
    { class Useit
    {
     
    public static void Main()
    {
    A1 a1 = new A1(); a1.Fun(); Console.ReadLine();
    }
    } public class A
    {
    public  void Fun()
    {
    Console.WriteLine("Fun A");
    }
    } public class A1:A
    {
    public new void Fun()
    {
    Console.WriteLine("Fun A1");
    }
    }2.override是重写,父类对应的父方法必须是虚拟的、抽象的或重写的。
    参考:
    using System;namespace MyName
    { class Useit
    {
     
    public static void Main()
    {
    A2 a2 = new A2(); a2.Fun(); Console.ReadLine();
    }
    } public class A
    {
    public virtual void Fun()
    {
    Console.WriteLine("Fun A");
    }
    } public class A2:A
    {
    public override void Fun()
    {
    Console.WriteLine("Fun A2");
    }
    }
    }请同时参考MSDN:
    new
    ms-help://MS.VSCC/MS.MSDNVS.2052/csref/html/vclrfNewOpPG.htm#vclrfnew_newmodifier
    overide
    ms-help://MS.VSCC/MS.MSDNVS.2052/csref/html/vclrfOverridePG.htm