抽象方法
public abstract void BBBBB();

解决方案 »

  1.   

    楼上的,abstract是“必须重写”不是不能重写。
    @搂主:不加任何修饰符就是不可重写,是默认情况。
      

  2.   

    谢谢解答,可是如果在子类中采用new关键字就可重新定义方法,
    这也是我不希望的。:)
      

  3.   

    那是不可能的,像这样支持Overload的语言你无法关闭这一功能。
      

  4.   

    C#还提出了密封方法(sealed method)的概念,以防止在方法所在类的派生类中对该方法的重载。
    不是类的每个成员方法都可以作为密封方法,密封方法必须对基类的虚方法进行重载,提供具体的实现方法。所以,在方法的声明中,sealed修饰符总是与override修饰符同时使用。
    -----------------------------------
    以上摘自《C#完全手册》(我刚看过的)
      

  5.   

    看起来似乎C#对密封方法的使用要求比较高,不是随便就能用的。以下是书上的例子:
    using System;
    class A
    {
       public virtual void F(){
           Console.WriteLine(A.F); 
       }
       public virtual void G(){
           Console.WriteLine(A.G);
       }
    }
    class B:A
    {
        sealed override public void F(){
            Console.WriteLine(B.F);
        }
        override public void G(){
            Console.WriteLine(B.G);
        }
    }
    class C:B
    {
        override public void G(){
            Console.WriteLine(B.G);
        }
    }