第29話 クラス
(……なんかなー、スプリンクラーみたいな感じに出せたらいいのになぁー)
ユキはふと、前世にあった
装置を中心に3~4方向に対して、回転するように水を撒くものだ。
(スプリンクラーって、なんかついついぼーっと眺めちゃうんだよなー。でも……あれを真似するためには……今、知ってるパラメータだけじゃできない)
スプリンクラーの水の動きを真似するには、ユキが今、解読できている初期値設定だけでは、実現できない点があった。
それは〝複数同時発射〟である。
スプリンクラーは3~4方向に対して、同時に水を放出している。
だが、現在、ユキが解読できている範囲では、弾は等間隔で1つずつ出すような仕組みになっており、複数同時発射はできなかった。
(うーむ……ちょっと骨が折れるけど……少し、解析してみるか……)
ユキは意を決して、
(今までは初期設定や更新処理の部分しか解析できなかったけど、きっと今ならもっと詳細を解析できるんじゃないかな……)
ユキの解析能力も初期に比べると、成長していた。
実際、冷蔵庫の開発過程においては
(少し気合入れてやるか……)
まず、ユキはこの初期化処理の大元となっている要素がないかを探してみることにした。
(恐らく……今まで解析してきたパラメータも何かしらの〝クラス〟の中のパラメータなんじゃないかな……)
ユキはプログラミングにおいて、かなり重要な要素である〝クラス〟という概念の存在が
クラスとは、ものすごく簡単に言うと、そのモノが所持している〝要素〟と〝処理(メソッドと呼ばれる)〟をひとまとめにできる便利な仕組みである。
例えば、このようなイメージだ。
////////////////////////////////////////////
class Device{
// 要素の定義
position // 位置
angle // 角度
count // カウンター
temperature // 温度
// 処理(メソッド)の定義
// カウンターの初期化処理(メソッド)
init_count(){
count = 0 // カウンターを0で初期化する
}
}
////////////////////////////////////////////
この例では、
デバイス(Device)というモノが
位置(position )や角度(angle)などの要素を持ち
カウンターの初期化処理(init_count)をすることができる
といった具合である。
このクラス(class)という仕組みがあることを前提に考えると、
ユキは、ある一つの仮説を立てることができた。
それは、今まで、ユキが変更していた
確信はない……だが、きっとそうであると信じたならば、ユキにできることは集中して
もし、それを突き止めることができれば、設定の変更だけでなく、処理そのものの追加も可能となり、より自由度の高い改変が可能になるのだ。
=================
【あとがき】
クラスの概念は全くプログラミングをしたことがない方からすると、少しややっこしいですが、プログラミングにおいて、もっとも基礎的な考え方かもしれないです。
(最近のプログラミングはモノを主体に設計するオブジェクト指向という考え方が主流です)
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます