简单的说,如果你感觉父类的这个方法可以有代码,那么把他声明为虚的,如果你感觉,父类是个超级抽象的概念,方法没有实现代码,需要子类自己实现,那么你用抽象方法。
方法是一个类的行为,在你不确定这个行为具体要干些什么的时候,你只能把它定义为一个抽象的规范来告诉子类你想通过这个行为来导致一个怎样的结果,这样,不同的子类会根据它们自身的状况为这个行为做具体的操作,这就是使用抽象方法。 在你确定某一个行为在默认情况下具体可以干些什么的时候,可以使用虚方法,这样既可以为子类提供更多的服务,又能在不同子类需要根据其自身状况对此方法重写的时候提供一个行为规范。 |
|