質問: 18cm ※データは一例で内容は変化します これを配列を使って処理していますが、クラスとして定義して扱い易くしたいと考えています。 ただ今の私の知識では最終的にこのクラスが配列を出力してforeachで回すくらいしか思いつかず、それだと配列をクラスで囲っているだけであまり便利にならないような気がします。 データをオブジェクトとして取り扱えるだけでも、そのデータの意味や目的がはっきりするという部分でメリットはあると思いますが、他に何か利便性が向上するようなメリットはあるのでしょうか? 漠然とした質問で恐縮ですが、何卒よろしくお願いします。
回答: > > 配列をオブジェクトにするメリット > > > オブジェクトにすると、いろいろなメリットがありますが、 たとえば、そのオブジェクト用に**メソッドが使える**ようになります。 (ちなみに、これはPHPの配列がプリミティブ型だからそういう仕様ですが、 Rubyの配列はオブジェクトなので、mapなど配列用のメソッドが使えます) するとたとえば、「mmとcmを変換する」といった処理を、 **オブジェクト自身で**できるようになるわけです。 それの何が良いのかというと、プログラムが**大規模**になったとき、 たとえば関数が千とか1万とかあったら、 データに対応する処理を探すだけでも大変ですよね。 しかし、メソッドならクラスに書いてあるので、すぐ分かるわけです。 そのデータに使う処理が、**データとセット**になっているので便利です。 また、データの方も、グローバル変数よりも**スコープを限定**できます。 だから、オブジェクトにすることで、**複雑性が減り、保守性が向上します**。 かなり簡略化した説明ですが、これがオブジェクト指向の 「**カプセル化**」のメリット(のひとつ)です。