基本クラスとは
基本クラスはスーパークラスとも呼ばれ、1つ以上の派生クラスの基盤として機能するコンピューターオブジェクトです。 継承可能なコンピューター言語であれば、基本クラスを作成できます。 基本クラスは、その正確な型に応じて、初期化(オブジェクトへの初期値の割り当て)を独自に初期化できる場合とできない場合がありますが、それらを継承するクラスには常に何らかの共通機能を与えます。 基本クラスが持つことができる派生クラスまたはサブクラスの数に制限はありませんが、コンピューター言語によっては、派生クラスが持つことができる基本クラスの数に制限がある場合があります。 派生クラスが1つのベースのみを持つことを許可する言語は、単一継承を実施すると言われていますが、派生クラスが複数のベースクラスを持つことを許可する言語は、多重継承を使用します。
具体的な基本クラスは、独自に初期化できます。 つまり、基本クラス型のオブジェクトを作成できます。 クラスExampleが派生クラスExample2のベースである場合、タイプExample2のオブジェクトとタイプExampleのオブジェクトの両方を作成できます。 タイプExampleのオブジェクトは、そのオブジェクトタイプを明示的に呼び出すことによってのみ作成できます。 Example2型のオブジェクトを作成しても、Example型の2次オブジェクトは作成されません。 いずれの場合も、作成されるオブジェクトタイプはそれ自体のインスタンスのみを構築します。
対照的に、抽象基本クラスはそれ自体では初期化できません。つまり、基本クラスのオブジェクトを単独で作成することはできません。 クラスExample3が派生クラスExample4の抽象ベースである場合、タイプExample4のオブジェクトのみを作成できます。 Example4型にはExample3型のデータが含まれていますが、Example3型のみのオブジェクトを作成しようとするとエラーになります。 この機能は、特にクラスExample3に厳密に規制する必要があるプライベートデータが含まれている場合に便利です。
表示される言語に応じて、基本クラスの動作はわずかに異なり、名前が著しく異なる場合があります。 Java®では、基本クラスは常にその名前で参照されますが、C ++では、構造に応じて、仮想クラスと呼ぶことができます。 名前と機能の違いは、使用されているコンピューター言語の点では重要ですが、クラスの背後にある原則の大きな違いを意味するものではありません。 基本クラスは、言語に関係なく、派生クラスの共通機能とデータをカプセル化するために常に使用されます。