【おぶじぇくとしこうせっけい】
オブジェクト指向設計 とは?
最終更新:
💡 「モノ」を主役にして、データと動きをセットで考える設計術
データと処理をまとめたオブジェクトの責任や協調を中心に、ソフトウェアを設計する方法。カプセル化・継承・ポリモーフィズムなどの考え方を使うが、すべての設計で継承が必須ではない。
📌 このページのポイント
オブジェクト指向設計って何なの?
オブジェクトが持つデータや処理、担当する責任や協調を考えて設計する方法だよ。「犬」なら名前や年齢と、鳴く・走るといった処理をまとめる例になる。ただし実物のすべてを再現せず、アプリに必要な部分を選ぶんだ。
カプセル化って何のこと?
内部の詳細を隠し、公開した操作を通して利用してもらうことだよ。テレビの回路を直接触らず、リモコンで操作するイメージだね。プログラムでもデータの変更方法を管理でき、内部の変更が利用側へ広がりにくくなるんだ。
継承は必ず使うの?
ポリモーフィズムって難しそう…
共通のインターフェースを通して、種類ごとの振る舞いを使うことだよ。同じ「鳴く」という操作でも、犬はワン、猫はニャーと返すイメージ。名前が偶然同じだけではなく、利用側が共通の操作の契約に依存するところが大事なんだ。
良い設計にするコツはあるの?
📖 おまけ:英語の意味
「Object-Oriented Design」 = オブジェクト指向の設計
💬 object(対象)を中心にしたdesign(設計)という名前だよ。現実のものをそのまま写すのではなく、目的に必要なデータや振る舞いを選んでモデルにするんだ。