using System;
class A
{
    
public virtual void Foo()
    {
      Console.WriteLine("Call on A.Foo()"); 
    }
}

class B : A
{
    
public virtual void Foo()
    {
      Console.WriteLine("Call on B.Foo()"); 
    }
}

class C : B
{
   
public override void Foo()
   {
      Console.WriteLine("Call on C.Foo()"); 
   }
}

class D
{
   
static void Main()
   {
     
      A c1 = 
new C(); 
      c1.Foo();
      Console.ReadLine();     
   }   
}

using System;

class A
{
    
public virtual void Foo()
    {
      Console.WriteLine("Call on A.Foo()"); 
    }
}

class B : A
{
    
public override void Foo()
    {
      Console.WriteLine("Call on B.Foo() " ); 
    }
}

class C : B
{
   
public new void Foo() 
   {
      Console.WriteLine("Call on C.Foo()"); 
   }
}

class D
{
   
static void Main()
   {       
      A c1 = 
new C(); 
      c1.Foo();
      Console.ReadLine();     
   }
}

using System;

class A
{
    
public virtual void Foo()
    {
      Console.WriteLine("Call on A.Foo()"); 
    }
}

class B : A
{
    
public virtual new void Foo()
    {
      Console.WriteLine("Call on B.Foo() " ); 
    }
}

class C : B
{
   
public override void Foo() 
   {
      Console.WriteLine("Call on C.Foo()"); 
   }
}

class D
{
   
static void Main()
   {       
      A c1 = 
new C(); 
      c1.Foo();
      Console.ReadLine();     
   } 



posted on 2007-08-29 22:19  BlueTzar  阅读(354)  评论(0)    收藏  举报