2

クラス階層をどのように説明しますか。

用語として「クラス階層」を検索したときに、クラスがどのように編成されているか、およびクラス間の継承関係の例がいくつか得られたため、Googleの能力が低下したと思います。それはすべてクラス階層についてですか?クラス階層をC開発者にどのように説明しますか?

また、クラス階層とオブジェクト階層の違いは何ですか?

実際、私は土曜日に私のオフィスの仲間にプレゼンテーションをする予定であり、非常に多くの理論的なトピックに出くわします:(

どんな助けでもいただければ幸いです。

どうもありがとう

4

1 に答える 1

5

数行でお答えします。

クラス階層は、おそらくクラスとそれらの間の継承リンクで構成される構造を指します。たとえば、、などclass Carから継承する場合がありますclass Vehicle。これがクラス階層を構成します。

Carここで、演算子を使用するインスタンスを作成すると、オブジェクトnewを取得します。Car関係する階層はありません。つまり、2つのクラスのように、「継承によってリンクされた2つのオブジェクト」はありません。インスタンス化の時点で、クラス階層は「フラット化」されていると言えます。

したがって、オブジェクト階層というフレーズは、多くの場合、全体/部分の構造を指します。おそらく名前が付けられた別のクラスと、Wheelからの参照を使用CarWheelて、車に最大4つの車輪を含めることができます(車のオブジェクト内の車輪の配列、または必要に応じて他の種類のコンテナを想像してください)。この配置は、オブジェクトのグラフ(階層ではなく)を実行時に構成します。ここで、全体/部分(「集約」または「構成」と呼ばれることもあります)の関係が主要なリンクです。

要約すると、クラス階層とオブジェクト階層は完全に異なり、関連していません。

これがお役に立てば幸いです。

于 2011-01-14T19:24:58.907 に答える