>>333
具象クラスは型と実装を定義する
抽象クラスは型と「一部の実装」を定義する
インターフェースは型を定義する

ただこれだけ

実際のプログラミングの話としては
イテレータの内部アルゴリズムを全て決める→具象クラス
イテレータの内部アルゴリズムを一部決める→抽象クラス
イテレータの内部アルゴリズムを一切決めない→インターフェース

非常に単純