クラスとは あるデータを格納する変数とそのデータを格納する変数に作用する関数を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「そうですね。


近い将来そのようなことが可能になるかもしれませんね。」






  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る