だから、私は2つのクラスがあります。クラスAの2種類のオブジェクトを使用できるかどうか疑問に思っています。
- クラスAの通常のオブジェクト、
- 独自のオブジェクトを保持しながらクラスBの動作を継承するクラスAのオブジェクト
3番目のクラスを作成せずに。
これは可能ですか?
基本形式のクラスAは、クラスBのすべての機能を備えているわけではないため、クラスBを拡張することはできません。
私はPHPを使用しています。
したがって、私が発見したのは、特定の動作を異なるクラス間で(水平方向に)共有したい場合、これはPHP5.4以降でトレイトを使用して可能であるということでした。
たとえば、「運転」と呼ばれる特性を定義し、さまざまなタイプのドライバーアクターがそれを実装できます。
トレイトを実装するクラスは、トレイトのすべてのプロパティとメソッドを継承し、それらのプロパティとメソッドは、リフレクションを使用している場合でもクラスの一部として表示されます。
これはそれをうまく説明する便利なリンクです。