Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ コンポジション入門 | セクション
Pythonにおけるオブジェクト指向プログラミング

bookコンポジション入門

メニューを表示するにはスワイプしてください

コンポジションは、クラスが他のクラスから継承するのではなく、そのインスタンスを含むhas-a関係を表現します。例えば、Car has an Engine(車はエンジンを持つ)。これは、Truck is a Vehicle(トラックは乗り物である)のようなis-a関係をモデル化する継承とは異なります。

example.py

example.py

copy

CarEngineから継承しません。代わりに、Engineオブジェクトを含み、それを使って動作を実行します。これはhas-a関係を示しており、is-aではありません。この設計により、柔軟性が高く、後からの変更も容易になります。

Note
ノート

柔軟な部品明確な境界、および動作の実行時置換が必要な場合はコンポジションを使用。明確で安定した真の is-a 階層がある場合は継承を優先

question mark

コンポジションを使用する主な利点は何ですか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 1.  15

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 1.  15
some-alt