抽象类abstract class:一个非抽象类去继承自抽象类,这个类要去实现抽象类中的所有抽象方法(abstract class),可以选择是否重写抽象类中的虚方法(virtual method)。
接口interface:一个类去实现接口,要去实现接口中的所有方法。
一个类只可以继承一个(抽象)类,而可以实现多个接口。
抽象类是面向继承的,他通过继承去规范子类的行为。
接口是面向组合的,他通过组合为类提供不同的能力。