はじめてのオブジェクト指向プログラミング / ToyoTech_LT 2

Ba679b0ea7dd7f09ee8975848ce9cb23?s=47 Siketyan
November 08, 2018

はじめてのオブジェクト指向プログラミング / ToyoTech_LT 2

Ba679b0ea7dd7f09ee8975848ce9cb23?s=128

Siketyan

November 08, 2018
Tweet

Transcript

  1. はじめての オブジェクト指向プログラミング Siketyan @ ToyoTech_LT

  2. 自己紹介

  3. None
  4. @siketyan

  5. はじめに • これは初心者向けです. • わりと抽象的な話をします.わかりにくかったらごめんなさい. • 言語に依存しない話をしますが,日本語のみです. • コード例は出しません. •

    間違っているところがあるかもしれません.マサカリ歓迎です. (ただし物理的なのは勘弁してください) • 10分枠なので,Twitterでもしながらのんびり聞いてくださると うれしいです.
  6. 流れ • オブジェクト指向とは • なぜオブジェクト指向を使うのか • オブジェクト指向の3要素 • クラス •

    メンバ • メソッド • オブジェクトの継承 • まとめ
  7. オブジェクト指向とは? • プログラムをいくつものオブジェクト(物体)に分けて記述する • それぞれのオブジェクトに関係を持たせたり,複数のオブジェクト をまとめて管理したりする

  8. なぜオブジェクト指向を使うのか 例えば,会員制サービスで • ユーザやグループなどの モノを管理するときに そのままコードで表せる • ユーザ同士,グループ同士, グループのメンバーなどの 関係を表すことができる

    グループ グループ ユーザ ユーザ ユーザ ユーザ
  9. オブジェクト指向の3要素

  10. 1. クラス オブジェクトの定義を表す 定義のみなので,オブジェクトの内容 (固有名など)は設定されない 使うときは実体(インスタンス)を作ってから 例) 「人間」「学科」……クラス 「たかし」「情報工学科」……インスタンス 学科

    人間
  11. 2. メンバ オブジェクトが持つ属性 インスタンスごとに別の値を持つことができる 例) ある人間の 「名前」「性別」「年齢」など……メンバ 人間 たかし 男

    16歳
  12. 3. メソッド オブジェクトが持つ動作 同じオブジェクトからも,違うオブジェクトからも 呼ぶ(命令する)ことができる 例) たかしの「歩く」という動作……メソッド 「たかし、歩け」……呼び出し(外部) 「俺よ、歩け」……呼び出し(内部) たかし

    歩く
  13. オブジェクトの継承 • オブジェクトに他のオブジェクトの特徴を併せ持たせる • 継承したオブジェクトに書かれた内容と同じ内容を書く必要が なくなる • 例えば「人間」に「哺乳類」を継承させれば, 「人間」も「サル」も同じ「哺乳類」として同時に処理できる 脊椎動物

    動物 哺乳類 人間 脊椎動物に共通の特徴
  14. まとめ たかしが歩くまで

  15. 脊椎動物 動物 哺乳類 人間 人間を定義します このとき,継承関係と「歩く」メソッドを作っておきます

  16. 脊椎動物 動物 哺乳類 人間 人間 人間のインスタンスを生成します 誕生

  17. たかし 名付けます 他の属性も設定しておきます

  18. たかし 命令します 「たかし、歩け」

  19. 歩きました おめでとうございます

  20. おわりに オブジェクト指向はいいぞ 大事なことなので太字にして下線を引きました

  21. ご清聴ありがとうございました このプレゼンテーションは SpeakerDeck で公開予定です