C#.NET中的隐藏和重写(关键字new和override)

/*
 * Created by SharpDevelop.
 * User: noo
 * Date: 2009-8-16
 * Time: 16:40
 * 
 * 隐藏和重写(关键字分别为new和override)
 
*/

using System ;
class newA
{
    
public virtual void output1()
    {
        Console.WriteLine (
"基类方法1");
    }
    
public void output2()
    {
        Console.WriteLine (
"基类方法2");
    }
}
class newB:newA
{
    
public override void output1()//对应的基类方法一定要用virtual关键字。这种方法叫重写基类方法。
    {
        Console.WriteLine (
"重写基类方法1");
    }
    
new public void output2()//对应的基类方法可用可不用virtual关键字。这种方法叫隐藏基类方法。
    {
        Console.WriteLine (
"隐藏基类方法2");
    }
}
class Test
{
    
static void Main()
    {
        newB b
=new newB ();
        newA a;
        a
=b;
        a.output1 ();
//调用B中的重写方法
        a.output2 ();//调用A中的原始方法
        b.output1 ();//调用B中的重写方法
        b.output2 ();//调用B中的隐藏方法
        newA aa=new newA ();
        aa.output1 ();
//调用A中的原始方法
        aa.output2 ();//调用A中的原始方法
    }
}
posted @ 2009-08-16 18:50  爱生活,爱GIS  阅读(985)  评论(0编辑  收藏  举报