コンポジションの導入
メニューを表示するにはスワイプしてください
コンポジションは、クラスが他のクラスから継承するのではなく、そのインスタンスを内部に保持する**「持っている(has-a)関係」を表現。例えば、Car has an Engine(車はエンジンを持つ)。これは、継承が表す「である(is-a)関係」、例えばTruck is a Vehicle**(トラックは乗り物である)とは異なる。
example.py
CarはEngineを継承しない。代わりに、Engineオブジェクトを保持し、それを利用して動作を実現する。これはhas-a関係を示し、is-aではないため、設計がより柔軟で後からの変更も容易になる。
注意
柔軟な部品、明確な境界、および動作の実行時置換が必要な場合はコンポジションを使用。明確で安定した「is-a」階層がある場合は継承を優先。
すべて明確でしたか?
フィードバックありがとうございます!
セクション 1. 章 15
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 1. 章 15