第29話 クラス

(……なんかなー、スプリンクラーみたいな感じに出せたらいいのになぁー)


 ユキはふと、前世にあった散水機スプリンクラーのことを思い出す。

 装置を中心に3~4方向に対して、回転するように水を撒くものだ。


(スプリンクラーって、なんかついついぼーっと眺めちゃうんだよなー。でも……あれを真似するためには……今、知ってるパラメータだけじゃできない)


 スプリンクラーの水の動きを真似するには、ユキが今、解読できている初期値設定だけでは、実現できない点があった。


 それは〝複数同時発射〟である。


 スプリンクラーは3~4方向に対して、同時に水を放出している。

 だが、現在、ユキが解読できている範囲では、弾は等間隔で1つずつ出すような仕組みになっており、複数同時発射はできなかった。


(うーむ……ちょっと骨が折れるけど……少し、解析してみるか……)


 ユキは意を決して、魔法論理マジック・ロジックの解析に着手した。


(今までは初期設定や更新処理の部分しか解析できなかったけど、きっと今ならもっと詳細を解析できるんじゃないかな……)


 ユキの解析能力も初期に比べると、成長していた。

 実際、冷蔵庫の開発過程においては実行エグゼ宣言なしでの自動走行を成功させるなど、それまではできなかった……いや、できないと思っていたことも成し遂げられたのだ。


(少し気合入れてやるか……)


 まず、ユキはこの初期化処理の大元となっている要素がないかを探してみることにした。


(恐らく……今まで解析してきたパラメータも何かしらの〝クラス〟の中のパラメータなんじゃないかな……)


 ユキはプログラミングにおいて、かなり重要な要素である〝クラス〟という概念の存在が魔法論理マジック・ロジックにも実装されていることは、ほぼほぼ確信していた。


 クラスとは、ものすごく簡単に言うと、そのモノが所持している〝要素〟と〝処理(メソッドと呼ばれる)〟をひとまとめにできる便利な仕組みである。


 例えば、このようなイメージだ。


 ////////////////////////////////////////////

 class Device{

 // 要素の定義

 position // 位置

 angle // 角度

 count // カウンター

 temperature // 温度


 // 処理(メソッド)の定義

 // カウンターの初期化処理(メソッド)

 init_count(){

  count = 0 // カウンターを0で初期化する

 }

 }

 ////////////////////////////////////////////


 この例では、


 デバイス(Device)というモノが

 位置(position )や角度(angle)などの要素を持ち

 カウンターの初期化処理(init_count)をすることができる


 といった具合である。


 このクラス(class)という仕組みがあることを前提に考えると、

 ユキは、ある一つの仮説を立てることができた。


 それは、今まで、ユキが変更していた魔法論理マジック・ロジックが、特定のクラスの処理(メソッド)の一部なのではないか? ということである。


 確信はない……だが、きっとそうであると信じたならば、ユキにできることは集中して魔法論理マジック・ロジックを感じ取ることだけだ。 


 もし、それを突き止めることができれば、設定の変更だけでなく、処理そのものの追加も可能となり、より自由度の高い改変が可能になるのだ。





=================

【あとがき】

クラスの概念は全くプログラミングをしたことがない方からすると、少しややっこしいですが、プログラミングにおいて、もっとも基礎的な考え方かもしれないです。

(最近のプログラミングはモノを主体に設計するオブジェクト指向という考え方が主流です)

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

作者を応援しよう!

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

応援したユーザー

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

新規登録で充実の読書を

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

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

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