1 / 16

オブジェクト指向講習

オブジェクト指向講習. オブジェクト指向の考え方に基づいた、ゲームの作成方法. 第 0 章 イントロダクション. オブジェクト指向とは何か? オブジェクト指向に基づいてプログラムを組むことの利点とは?. オブジェクトとは?. オブジェクトとは「メモリ上に展開される物」 変数とかが一種のオブジェクト. それらを中心に置いてプログラミングしていくのが オブジェクト指向プログラミング!!. オブジェクト指向の例 (1). たとえば、一本のペットボトルがあるとしましょう. このままではぬるいので、冷やします. 冷蔵庫に入れましょう. これは従来のプログラミングです.

Download Presentation

オブジェクト指向講習

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. オブジェクト指向講習 オブジェクト指向の考え方に基づいた、ゲームの作成方法

  2. 第0章 イントロダクション オブジェクト指向とは何か? オブジェクト指向に基づいてプログラムを組むことの利点とは?

  3. オブジェクトとは? • オブジェクトとは「メモリ上に展開される物」 • 変数とかが一種のオブジェクト それらを中心に置いてプログラミングしていくのが オブジェクト指向プログラミング!!

  4. オブジェクト指向の例(1) たとえば、一本のペットボトルがあるとしましょう このままではぬるいので、冷やします 冷蔵庫に入れましょう これは従来のプログラミングです

  5. オブジェクト指向の例(2) 今のをプログラミングっぽく整理すると以下のようになります ペットボトル(物) 引数として、 冷蔵庫関数に渡す ぬるい 冷蔵庫 (関数) 戻り値として、 冷たい物が 返ってくる ペットボトル(物) 冷た~い

  6. オブジェクト指向の例(3) では、オブジェクト指向の考え方に基づいて、 ペットボトルを冷やすことを考えましょう。 オブジェクト指向では、 ペットボトルを冷蔵庫には入れません あれ?ペットボトルにスイッチが付いてますね? ONにしてみましょう! スイッチを押したら いつの間にか冷えてました! オブジェクト指向ではオブジェクトに様々な機能を持たせる

  7. オブジェクト指向の例(4) テレビのチャンネルを変えたい テレビ局に周波数を合わせるために テレビ内部の配線を変える 従来のプログラム チャンネルのボタンを押すだけで 内部で勝手に変わる オブジェクト指向 オブジェクト指向ではオブジェクトの内部構造を 熟知していなくてもオブジェクトを使うことができる

  8. オブジェクト指向の例(5) 最後にゲームにありそうな例を 車やキャラ等を動かそうとします 外部から頑張って押す アクセル踏めば勝手に進む 従来のプログラム オブジェクト指向 move(car, x, y); car.move(x, y); carはクラス carクラスに関連付けられた move関数でcarの位置を動かす carは構造体 move関数でcarの位置を動かす どちらも同じように見えますがやってくうちに オブジェクト指向のが見やすいプログラムが書けることが 分かるようになります

  9. オブジェクト指向の例のまとめ • オブジェクトに様々な機能を付けて その機能を中心に使っていくのがオブジェクト指向 • その機能を使うのには、 スイッチを押してやるだけ!!簡単!! • 従来のように、関数とか演算子を使って ゴニョゴニョとオブジェクトを操作する必要は無い

  10. オブジェクト指向の利点 • プログラムが見やすくなる • プログラムの開発効率を上げることができる • 複数人による共同開発がしやすい • プログラムの再利用がしやすい

  11. オブジェクト指向の問題点 • プログラムの動作が若干遅くなる →規模の大きなゲームでなければ そのまで変わらない • 実はC言語はオブジェクト指向未対応 →C++はオブジェクト指向対応なので、 C++を使う

  12. 講習予定(1) • 第0章イントロダクション • 第1章オブジェクトの概念をつかむ • 1.1節構造体 • 構造体と、その利用方法(復習) • 構造体のコンストラクタ • 1.2節列挙体

  13. 講習予定(2) • 第2章オブジェクト指向の基礎 • 2.1節クラス • 2.2節メンバ変数 • 2.3節メンバ関数 • 2.4節関数のオーバーロード • 2.5節コンストラクタ・デストラクタ • 2.6節クラスのコピーとポインタ • 2.7節静的メンバ変数・関数 • 2.8節カプセル化 • 2.9節アロー演算子・thisポインタ • 2.10節クラスと構造体の違い

  14. 講習予定(3) • 第3章演算子のオーバーロード • 3.1節二項演算子のオーバーロード • 算術演算子のオーバーロード • 比較演算子のオーバーロード • 3.2節一般関数の演算子のオーバーロード • 3.3節単項演算子のオーバーロード • 論理否定、符号演算子のオーバーロード • インクリメント、デクリメント演算子 のオーバーロード • 3.4節 friend関数とそれを用いた 演算子のオーバーロード

  15. 講習予定(4) • 第4章オブジェクトの継承 • 4.1節継承の概念と利点 • 4.2節継承の仕方 • 4.3節アクセスコントロール • 4.4節関数のオーバーライド • 4.5節仮想関数 • 4.6節純粋仮想関数と抽象クラス

  16. 注意事項など 本講習では練習問題を用意しません(一部を除く) オブジェクト指向は小規模プログラムには向いていない ので、練習問題にすることは不可能に近い その代わりに、オブジェクト指向を取り入れたゲームを 皆で一斉に作っていくことにします この続きの講習は春休み中に行います 続きが聞きたい人は春休み中の部活に参加してください なお、参加希望人数が余りにも少ない場合には この続きはありません

More Related