给你一堆木头,你要画图纸、切割、打磨、粘接...等等很多工序才能做一个航模出来...你去航模店买一套航模套装,费不了多少事就能做一个航模出来...前者你高兴了可以做架飞机也可以做艘舰船...而后者你只能做架飞机再有个性也是架飞机...航模套装就像是抽象类...是半成品...

解决方案 »

  1.   

    灵活,
    本身可以不用考虑具体的实现,由继承该类的代码来实现,例子看帮助里面的就很清楚
      

  2.   

    不仅仅是代码复用这么简单和灵活,也不是一两句话的事,你看一下面向对象和设计模式方面的书!
      

  3.   

    1楼的解释不错.
    又如一个业务系统里面的单据,每个单据都有新增\修改\删除\查询\定位\单据列表\有效验证等,就像一个模型,而抽像类就可以定义好这些, 实现的单据继承该抽像类,这样的所以的单据具有同一个模型,当然也可以用接口.
      

  4.   

    抽象类和接口有相识的作用,但是。net只能继承一个类,但是可以继承多个接口。
    抽象类的作用是预留一个和多个方法不实现 只是定义方法的参数和返回类型 方法的实现将放在具体的子类中实现 他可以省略子类的部分代码
    简单的例子是
    如果说钻戒是一个子类
    那么没有镶钻石的戒子就是一个抽象类
    每个客户可以根据自己的喜好去镶钻石,可以是圆的 可以是大的 也可以是小的 或者说红的 绿的
    他们同样都是钻戒 但是样式都不一样 
    抽象类限制了钻戒的部分特性 也预留了部分灵活性 这也是抽象类的一个用途
      

  5.   

    1 代码重用,继承类都能用抽象类定义的方法
    2 灵活,某个继承类既可以继承改方法也可以派生一个新的
    3 抽象类是所有继承类通用方法的最小集合,可以封装某一个继承类的实例用来进行传递
      

  6.   

    4 还有很强大的一点,可以先不管一个方法是如何实现的,也就是方法是空的,但可以在抽象类里到处使用,而怎么实现这个方法的,可以交给各个继承类去实现