オブジェクトとは?

Download Report

Transcript オブジェクトとは?

オブジェクト指向講習
オブジェクト指向の考え方に基づいた、
ゲームの作成方法
第0章 イントロダクション
オブジェクト指向とは何か?
オブジェクト指向に基づいてプログラムを
組むことの利点とは?
オブジェクトとは?
オブジェクトとは「メモリ上に展開される物」
変数とかが一種のオブジェクト
それらを中心に置いてプログラミングしていくのが
オブジェクト指向プログラミング!!
オブジェクト指向の例(1)
たとえば、一本のペットボトルがあるとしましょう
このままではぬるいので、冷やします
冷蔵庫に入れましょう
これは従来のプログラミングです
オブジェクト指向の例(2)
今のをプログラミングっぽく整理すると以下のようになります
ペットボトル
(物)
ぬるい
引数として、
冷蔵庫関数に渡す
冷蔵庫
(関数)
ペットボトル
(物)
冷た~い
戻り値として、
冷たい物が
返ってくる
オブジェクト指向の例(3)
では、オブジェクト指向の考え方に基づいて、
ペットボトルを冷やすことを考えましょう。
オブジェクト指向では、
ペットボトルを冷蔵庫には入れません
あれ?ペットボトルにスイッチが付いてますね?
ONにしてみましょう!
スイッチを押したら
いつの間にか冷えてました!
オブジェクト指向ではオブジェクトに様々な機能を持たせる
オブジェクト指向の例(4)
テレビのチャンネルを変えたい
テレビ局に周波数を合わせるために
テレビ内部の配線を変える
従来のプログラム
チャンネルのボタンを押すだけで
内部で勝手に変わる
オブジェクト指向
オブジェクト指向ではオブジェクトの内部構造を
熟知していなくてもオブジェクトを使うことができる
オブジェクト指向の例(5)
最後にゲームにありそうな例を
車やキャラ等を動かそうとします
外部から頑張って押す
従来のプログラム
アクセル踏めば勝手に進む
オブジェクト指向
move(car, x, y);
car.move(x, y);
carは構造体
move関数でcarの位置を動かす
carはクラス
carクラスに関連付けられた
move関数でcarの位置を動かす
どちらも同じように見えますがやってくうちに
オブジェクト指向のが見やすいプログラムが書けることが
分かるようになります
オブジェクト指向の例のまとめ
オブジェクトに様々な機能を付けて
その機能を中心に使っていくのがオブジェクト指向
その機能を使うのには、
スイッチを押してやるだけ!!簡単!!
従来のように、関数とか演算子を使って
ゴニョゴニョとオブジェクトを操作する必要は無い
オブジェクト指向の利点
プログラムが見やすくなる
プログラムの開発効率を上げることができる
複数人による共同開発がしやすい
プログラムの再利用がしやすい
オブジェクト指向の問題点
プログラムの動作が若干遅くなる
→規模の大きなゲームでなければ
そのまで変わらない
実はC言語はオブジェクト指向未対応
→C++はオブジェクト指向対応なので、
C++を使う
講習予定(1)
第0章
イントロダクション
第1章
オブジェクトの概念をつかむ
►1.1節
構造体
構造体と、その利用方法(復習)
構造体のコンストラクタ
►1.2節
列挙体
講習予定(2)
第2章
オブジェクト指向の基礎
►2.1節
クラス
►2.2節
メンバ変数
►2.3節
メンバ関数
►2.4節
関数のオーバーロード
►2.5節
コンストラクタ・デストラクタ
►2.6節
クラスのコピーとポインタ
►2.7節
静的メンバ変数・関数
►2.8節
カプセル化
►2.9節
アロー演算子・thisポインタ
►2.10節
クラスと構造体の違い
講習予定(3)
第3章
演算子のオーバーロード
►3.1節
二項演算子のオーバーロード
算術演算子のオーバーロード
比較演算子のオーバーロード
►3.2節
一般関数の演算子のオーバーロード
►3.3節
単項演算子のオーバーロード
論理否定、符号演算子のオーバーロード
インクリメント、デクリメント演算子
のオーバーロード
►3.4節
friend関数とそれを用いた
演算子のオーバーロード
講習予定(4)
第4章
オブジェクトの継承
►4.1節
継承の概念と利点
►4.2節
継承の仕方
►4.3節
アクセスコントロール
►4.4節
関数のオーバーライド
►4.5節
仮想関数
►4.6節
純粋仮想関数と抽象クラス
注意事項など
本講習では練習問題を用意しません(一部を除く)
オブジェクト指向は小規模プログラムには向いていない
ので、練習問題にすることは不可能に近い
その代わりに、オブジェクト指向を取り入れたゲームを
皆で一斉に作っていくことにします
この続きの講習は春休み中に行います
続きが聞きたい人は春休み中の部活に参加してください
なお、参加希望人数が余りにも少ない場合には
この続きはありません