抽象方法,主要用于团队开发时的一种约束。比如架构师在设计超类的时候,认为每个子类都应当有dosomething()这个方法,那么,如果不在超类中设置抽象方法,他就必须要在文档中或者通过其它方式(比如吼)来告知分散在世界各地的1000个外包团队或自家团队成员:你们在写子类的时候必须使用dosomething()这个方法!可想而知这工作量会有多大!而且会多么容易出错。这是一个类的一个方法,如果有100个类呢?1000个方法呢?
而使用抽象方法就不一样了,世界变得美好起来,只需要在超类中声明抽象类,然后子类继承超类就可以了。子类中不实现抽象方法的话,就编译不过。强制增加。消灭了犯错误的可能性。
有些事情无法理解时,换个角度,升个维,也许就明白了。