本帖最后由 崔岩 于 2012-3-14 11:34 编辑
我认为abstract修饰符还有一个好处就是提醒你重写父类中的方法。比如父类中定义一个抽象方法,这个方法的性质是每个子类中都有不同的做法,必须要重写。这个时候就没必要在父类中把这个方法实现出来,因为子类最后也不会用父类的做法。这时如果不抽象一下,对于新手或者对这个项目不熟悉的人在继承父类后,可能会忘记重写该方法,导致运行时逻辑错误。而一旦抽象了该方法,相当于提醒了所有继承父类的子类,必须重写该方法,因为编译器就会提醒你,从而避免了错误发生。这只是个人一点小看法。
至于为什么需要抽象类,我感觉它和接口思想是一样的,我也想知道接口能不能完全代替抽象类。 |