<輪読会>オブジェクト指向でなぜつくるのか -第2章 オブジェクト指向と現実世界は似て非となるもの-

輪読会メンバー

  • Izumi Haruya

github.com

  • Sekine Yutaro

github.com

  • Abe Kaisei

github.com

第2章 オブジェクト指向と現実世界は似て非となるもの

オブジェクト指向を現実世界に対比して説明する

クラスは種類、インスタンスは具体的なモノ

メッセージパッシングとは、メソッドを呼び出すこと

ポリモーフィズムはメッセージの送り方を共通にする

  • ポリモーフィズムの意味/仕組み
    • (英語)「いろいろな形に変わる」
    • (日本語)「多態性」「多相性」
    • (仕組み)類似したクラスに対するメッセージの送り方を共通にする仕組み

継承は共通点と相違点を体系的に分類して整理する

  • 継承の仕組み
    • モノの種類の共通点と相違点を体系的に整理する仕組み

比喩を強調した説明は混乱を招きやすい

  • 比喩の弊害
    • 比喩を強調した結果、比喩の強烈な印象ばかりが残りがち
    • プログラミング言語としてのOOPの利便性と活用場面が具体的にイメージしにくい

オブジェクト指向と現実世界は似て非なるもの

プログラミングのための仕組みと割り切って理解する

  • 三大要素を保守性や再利用性を上げる為の仕組みとして割り切る
    • クラス
      • 変数とサブルーチンをひとまとめにして独立性の高い部品を作る為の仕組み

      サブルーチン(英: subroutine)は、コンピュータプログラミングにおいて、プログラム中で意味や内容がまとまっている作業をひとつの手続きとしたものである。 繰り返し利用されるルーチン作業をモジュールとしてまとめたもので、呼び出す側の「主」となるもの(メインルーチン)と対比して「サブルーチン」と呼ばれる。

    • ポリモーフィズムと継承
      • コードを重複を排除して汎用性の高い部品を作る為の仕組み

そもそもソフトウェアは現実世界をそのまま表現しない

  • システム化範囲の議論
    • (一般論)ソフトウェアが人間の仕事をまるごと置き換えてしまう
    • (本書の結論)ソフトウェアがカバーするのは人間の仕事の一部でしかない

      上記の続きは第9章で詳しく議論予定(後ほど引用作成します)

現実世界と似ていることが可能性を広げた

参考書籍

オブジェクト指向でなぜつくるのか 第3版 知っておきたいOOP、設計、アジャイル開発の基礎知識 | 平澤 章 |本 | 通販 - Amazon.co.jp