1.抽象類(abstract class)可以包含功能定義和實現,接口(interface)只能包含功能定義 。
2.抽象類是從一系列相關對象中抽象出來的概念, 因此反映的是事物的內部共性;接口是爲了滿足外部調用而定義的一個功能約定, 因此反映的是事物的外部特性。
3.分析對象,提煉內部共性形成抽象類,用以表示對象本質,即“是什麼” ;爲外部提供調用或功能需要擴充時優先使用接口 。