在看MSDN里的定义里说“abstract 修饰符以指示某个类只能是其他类的基类”
但是在下面这段代码里抽象类却从另一个基类继承了东西,和定义是不是有点自相矛盾啊?public class D
{
    public virtual void DoWork(int i)
    {
        // Original implementation.
    }
}public abstract class E : D
{
    public abstract override void DoWork(int i);
}public class F : E
{
    public override void DoWork(int i)
    {
        // New implementation.
    }
}

解决方案 »

  1.   

    给你贴段说明吧abstract 修饰符可以和类、方法、属性、索引器及事件一起使用。在类声明中使用 abstract 修饰符以指示某个类只能是其他类的基类。标记为抽象或包含在抽象类中的成员必须通过从抽象类派生的类来实现。
      

  2.   

    “abstract 修饰符以指示某个类只能是其他类的基类”主要是说,abstract类不能被实例化,作为基类使用。而不是说它不能是其它类的子类。
      

  3.   

    abstract只是限制该类的实例化,其实,在设计模式中更注重使用它。即所谓的重用度越高的类越抽象,最底层的被依赖类基本都是abstract的!
      

  4.   

    这么说吧,所有的类的基类是object abstract类也不例外,那就不难理解了