🌻天国にいけるC++言語入門🌻 進化し続けるオブジェクト指向プログラミング ver3.2307
クラスとは あるデータを格納する変数とそのデータを格納する変数に作用する関数を1つにまとめるために用いられます
クラスとは あるデータを格納する変数とそのデータを格納する変数に作用する関数を1つにまとめるために用いられます
ソーラー「ここで
TVゲームの中に登場する車を
作製することを考えてみたいと思います」
マックス「TVゲームの中の車?
まあ、確かにプログラムで
TVゲームの中の車を作製できるんだろうな。
しかし よくわからんな
なぜ
TVゲームの中の車を作製しようとするのか」
ソーラー「ふふっ まず 車を作製するのは
プログラムを使うのではなく頭の中です。」
マックス「えっ?」
ソーラー「いえ 頭の中で(笑)
頭の中で車を作製しておけば
プログラム上で車を作製するのが
より簡単になるとおもいませんか?」
マックス「いやあ まあ そうだろうが
いきなり イメージトレーニングか?」
ソーラー「そう イメージトレーニングは大事ですよ。
では まず 頭の中で車を作製していきましょう。
その車には
タイヤがついているとします。
1個ついているか2個ついているか
3個ついているか4個ついているか・・・」
ぶーにゃん「ニャンコついているか・・・」
ソーラー「ふふっ 何個ついているかは自由にきめてもらっても
構わないんですよ
車にタイヤを何個つけましたか?」
マックス「1個かな
面白い車を作製しないとな」
ソーラー「そこで
その頭の中のイメージをもとに
タイヤを1つ持っている車をプログラミングで作製していきましょう。
ここで登場するのが
class(クラス)なんです」
マックス「TVゲームの中の車を作製するときに
class(クラス)がつかえるのか??
class(クラス)とは
なんだ~」
ソーラー「class(クラス)は
プログラミングで
😻あるモノ😻
例えば
そうですね・・・
TVゲームの中の車
シューティングゲームにでてくる飛行機
横スクロールゲームで登場するキャラクター
などなど・・・
を
作製するときに
登場するのです
なぜなら
クラスとは
あるデータを格納する変数とそのデータに作用する関数を1つにまとめるためにもちいられるからです
ですから
TVゲームの中の車なら
タイヤの数
走るスピードの速さ
等のデータをもっていますが
TVゲームの中の車なので
大抵
タイヤの数
走るスピードの速さ
等のデータをもっていますが
は
変化するよう設定されることになるはずです
つまり
タイヤの数
走るスピードの速さ
等のデータをもっていますが
の
データを格納する変数
に
作用する関数というものが登場してくるはずです
つまり
TVゲームの中の車なら
タイヤの数
走るスピードの速さ
等のデータ
を格納する変数
と
走るスピードの速さ
に作用する関数
というものが登場してくることになります
この
TVゲームの中の車の
タイヤの数
走るスピードの速さ
等のデータ
を格納する変数
と
走るスピードの速さ
に作用する関数
を
一まとめに管理するために
クラスというものが登場してきます
TVゲームの中の車の
タイヤの数
走るスピードの速さ
等のデータを格納する変数
と
タイヤの数
走るスピードの速さ
等のデータを格納する変数
に作用する関数
をひとまとめに管理するためのクラス
名づけるなら
クルマクラスですか
Carクラス
を作製することになります
また
横スクロールアクションゲームで登場するキャラクター
なら
キャラクターの体力
キャラクターのジャンプできる高さ
走るスピードの速さ
などの
データを持っていますが
キャラクターの体力なら
アイテムをゲットしたなら増えるように
キャラクターのジャンプできる高さ
も
あるアイテムをゲットしたら増えるようにしたい場合
キャラクターの体力
キャラクターのジャンプできる高さ
に作用する関数というものが登場してくるはずです
となると
横スクロールアクションゲームで登場するキャラクター
なら
キャラクターの体力
キャラクターのジャンプできる高さ
走るスピードの速さ
などの
データを持っていますが
キャラクターの体力なら
アイテムをゲットしたなら増えるように
キャラクターのジャンプできる高さ
走るスピードの速さ
も
あるアイテムをゲットしたら増えるようにしたい場合
キャラクターの体力
キャラクターのジャンプできる高さ
走るスピードの速さ
に作用するメソッドというものが登場してくるはずです
横スクロールアクションゲームで登場するキャラクター
なら
キャラクターの体力
キャラクターのジャンプできる高さ
走るスピードの速さ
を格納する変数
と
キャラクターの体力
キャラクターのジャンプできる高さ
走るスピードの速さ
のデータを格納する変数
に作用する関数
を
ひとまとめに管理するためのクラス、
名づけるならキャラクタークラス
Characterクラス
を作製することになります
つまり
クラスとは
あるモノに関するいろいろなデータ
を格納する変数
と
そのデータに作用する関数
を
1つにまとめるために用いられるというわけです
なぜ
クラスを作製するかというと
データの管理が楽だからです
あるモノに関するいろいろなデータ
を格納する変数
と
そのデータに作用する関数が
1つにまとめられていれば
このモノのデータを格納する変数にはこの関数を使えばよい
このモノのデータを格納する変数にはこの関数しか使えない
ということがすぐにわかります
扱うデータが多くなればなるほど
クラスをもちいたプログラミングは効力を発揮してきます
ここさえ
理解しておけば
クラスの理解はとても簡単なんです。
おそらく
皆さんの予想以上に簡単です。」
マックス「そうなのか。
クラスは
あるモノに関するいろいろなデータを格納する変数
と
そのデータを格納する変数に作用する関数を
1つにまとめるために用いられる、か・・
構想段階では
TVゲームの中のクルマは頭の中で
TVゲームの中のクルマを
作成したい
そのとき
TVゲームの中のクルマのデータを格納する変数
と
TVゲームの中のクルマのデータを格納する変数に作用する
を
クラスを用いて管理するってことか
TVゲームの中のクルマは
プログラミングで構成されたモノ
だよな
その
TVゲームの中のクルマ
が
クラスを用いて管理されるってわけか」
ソーラー「
TVゲームの中のクルマを作製するのに
Carクラスが作製されることになるんだけど
逆にいえば
Carクラスを用いて
TVゲームの中のクルマを作製することになるんだよ」
マックス「ほう?
TVゲームの中のクルマを作製するのに
Carクラスを用いるのか
全然関係ないが
まあ 当然だが
プログラムを組んだだけでは
実物の
クルマはできないよな
にゃはは
まてよ・・・
誰でも
プログラムを組んだだけで実物のクルマがつくれるようになったら
すごいんじゃないか?
しかも
今の技術なら なんかできそうな気がする(*^▽^*)」
てんC「そうですね。
近い将来そのようなことが可能になるかもしれませんね。」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます