Loading article…
コンピュータサイエンスにおけるクラス階層または継承ツリーは、オブジェクト型の分類であり、オブジェクトをクラスのインスタンス化として表します(クラスは設計図のようなもので、オブジェクトはその設計図から構築されるものです)。さまざまなクラスは、「継承」、「拡張」、「抽象化」、「インターフェース定義」などの関係によって相互に関連付けられます。[ 1 ]オブジェクト指向プログラミングでは、クラスは、特定の種類のオブジェクトに共通する状態と動作を定義するテンプレートです。クラスは、他のクラスを使用して定義できます。[ 1 ]
コンピュータ科学におけるクラス階層の概念は 、種の分類である分類学と非常によく似ている。
これらの関係性は、オブジェクト指向設計の科学や、一般的な使用法、言語設計者(Java、C++、Smalltalk、Visual Prolog)、およびオブジェクト管理グループなどのソフトウェア設計の標準化委員会によって定義されたオブジェクトインターフェース標準で規定されています。
クラス階層は必要に応じて深くすることができます。インスタンス変数とメソッドは階層を順に継承され、サブクラスで要件に応じて再定義できます。一般的に、階層の下位に位置するクラスほど、その動作はより特殊化されます。オブジェクトにメッセージが送信されると、受信オブジェクトのクラスから始めて、メソッドの定義が見つかるまで継承ツリーを遡って渡されます。このプロセスはアップキャスティングと呼ばれます。