VB7 のクラスには、継承の機能が追加されます。プログラミング言語も、一種のソフトウェアですから、日々高度に、複雑になってゆくのですね。私たちは、日々学習して、それぞれを正しく理解する必要があります。
さて、VB6 の Implements(インタフェイス実装)は、C++ 言語などにある「継承」とは異なります。継承は、既存のクラスに機能を追加して新たなクラスを記述する仕組みで、各クラスは「階層構造」で表現されます。一方、「インタフェイス(抽象クラス)とその実装」は、「グループ分け」で表現します。
:
「ポリモーフィズム」とは、クラスが複数あるとき、それらがお互いに関連を持ち、たとえば、File 型として宣言した変数に TextFile 型のインスタンスを代入できるような仕組みのことです。
VB6 には継承の機能が無いので、Implements を、比較的素直に理解出来るでしょう。しかし、C++ を知っている人がこれを見ると混乱してしまうかもしれません。C++ では、ポリモーフィズムの仕組みが継承で表現されるからです。
class File;
class TextFile : File;
class XMLFile : TextFile;
File* p_fNewItem;
p_fNewItem = new XMLFile;継承の特徴のひとつに、「階層の若い方にあるクラスのインスタンスは、それよりも古いクラス型の変数に代入可能」というものがあります。しかし、継承の本質は、あるクラスを元に、機能強化したクラスを作ること。もちろん、継承は便利な機能ですが、古いクラスの変更が、すべての新しいクラスに影響するため、階層を深くしすぎると保守しにくくなってしまいます。また、多重継承は下手に使うと混乱のもとです。
インタフェイス実装の場合は、“どのインタフェイスを実装するのか”は、それぞれのクラスに委ねられていて、より柔軟性があります。インタフェイス実装が目的にしているのは、“クラスの分類”です。(なので、個人的には、継承よりもインタフェイス実装によるクラス分類の方が好きです。)
この辺りの仕組みは、“オブジェクト指向”の難しい(ややこしい)ところでしょうか。焦らず、ひとつずつ理解してください。