继承与隐藏方法

 public abstract class abstractlist

    {

      public abstractlist()

      {

          Console.WriteLine("A");

      }

      public  void ceshi()

      {

          Console.WriteLine("A.FUN()");

      }

    }

 

 public class Class2 : abstractlist

    {

 

 

       public Class2()

       {

           Console.WriteLine("B");

       }

 

 

       public new  void ceshi()

       {

           Console.WriteLine("B.FUN()");

       }

    }

 

调用

 

 

          Class2 b = new Class2();

           b.ceshi();

 

 

           abstractlist a = new Class2();

           a.ceshi();

 

结果

 

A

B

B.FUN()

A

B

A.FUN()

 

解读:Class2继承abstractlist父类,如果父类有结构函数,就先执行父类的结构函数,然后执行子类的结构函数。

在子类中定义了一个与父类一样的方法必须用NEW修饰,如果不用NEW修饰出现异常。目的是隐藏子类的这个方法,除非你初始化NEW子类,然后调用子类的方法。

posted @ 2015-11-16 15:26  acdyf  阅读(167)  评论(0编辑  收藏  举报