Programming with MATLAB    

単一継承

他のクラスから派生して、継承しているクラスにそれ自身の新しい要素を加える クラスは、単一継承を使います。継承は子クラスに属しているオブジェクトが、 追加フィールドのように親クラスと同じフィールドをもたせます。そのために、 親クラスと関連したメソッドは、子クラスに属するオブジェクト上で働くことが できます。しかし、子クラスに関連したメソッドは、親クラスに属しているオブ ジェクト上で機能しません。子クラスから直接に親のフィールドにアクセスする ことはできません。親に対して定義されたアクセスメソッドを使わなければなり ません。

他の挙動を継承しているクラスに対するコンストラクタ関数は、2つの特別な特性をもっています。

関数classを使って、単一継承関係を作る一般的な構文は、つぎのものです。

単一継承は、複数の世代にまたがることも可能です。親クラスが、それ自身継承クラスの場合、子オブジェクトは二世代上(grandparent)のクラスから自動的に継承します。

クラスプロパティとメソッドの可視化

親クラスは、子のプロパティ、または、メソッドに関する知識をもつ必要はありません。子クラスは、親のプロパティに直接アクセスできませんが、親のアクセスメ ソッド(たとえば、getまたはsubsrefメソッド)を使って、親のプロパティにア クセスします。子クラスメソッドから、このアクセスは、子構造体内の親のフィー ルドを通して行われます。たとえば、コンストラクタは、子オブジェクトcを作 成するとき、つぎのようにします。

MATLABは、親オブジェクトを含むオブジェクトの構造体内にc.parent_class_nameフィールドを自動的に作成します。ユーザは、親のdisplayメソッドを呼び、子のdisplayメソッドの中にステートメントを作成します。

単一継承を使った例題については、"株式クラスの設計 "を参照してください。


  他のクラスの構築 多重継承