Skip to main content

クラスの階層とは何ですか?

classクラスの分類法とも呼ばれるクラスの階層は、同様のことを行うために継承を通じて接続されている関連クラスのグループです。階層の最上部は、以下の他のすべてのクラスが導出される単一の基本クラスであるか、階層には、1つ以上の派生クラスで機能が後で合流する複数のベースクラスを持つことができます。クラス間の関係は木として示すことができ、大規模な分類法の中の各小さな木も階層と見なすことができます。C ++は複数の継承を可能にするため、複数の根と互いに融合する複数の根と複数の木で複雑な階層を構築できます。一方、Java&Reg;は単一の継承に限定されているため、通常、クラスの関係はよりシンプルで、単一の根を持つ比較的自己完結型の木として構築されています。インターフェイス継承は、Java&Reg;のクラス階層に複雑さを追加することができますが、インターフェイスは、木を結合するような複雑なフレームワークではほとんど呼ばれることはありません。継承に関しては、言語のルールが常に守られている限り。階層内のクラスは、公開、保護された、抽象的、具体的、または仮想である可能性があります。インターフェイス、グローバル機能、および友人も使用できます。コンピューター言語に応じて、これらのタイプのいくつかは、他のタイプよりも継承する方が良いかもしれません。一般に、階層は非常に柔軟であり、多くの目的で多くの方法で使用できます。クラスは、上記のタイプのいずれかになる可能性があります。一般に、階層の下に派生クラスがない階層の最後のクラスは、公開されていて具体的でなければなりません。ただし、純粋に抽象的なクラスの階層も存在する可能性があるため、これは単なる経験則です。コードを明確にして維持しやすくするのではなく、実際にコードを混同します。多くのクラス間に堅牢な関係を構築するには、ある程度の先見性が必要です。最初はコードを多くの小片に分割する方が簡単かもしれませんが、それらの小さな部分は後で処理するのがより困難になるかもしれません。適切に構築されると、クラスの階層は、開発者とユーザーの両方がクラスの仕組みを決定するのに役立ちます。メンテナンスと明確さを念頭に置いて構築されている場合、多くのレベルの継承は、振り返って理解するのを混乱させることができます。