- ベストアンサー
オブジェクト指向で作る事による、無駄なコーディング。
ごきげんよう。 PHPでオブジェクト指向でプログラムを作り始めて、まだそれほど利点は分かりませんが、クラスを作ると、それに付随して無駄なコーディングが増えていくような気がします。 これは、データや作業の切り出し方が悪いのでしょうか? 例えば、テレビとリモコンでいうと、チャンネルを変えるには、リモコンをおしてデータを送信。テレビ側にも、データを受信・解析する機関を作らないといけないので。 これが無駄と感じてしまうのですが。 今までだと、テレビとチャンネルを変えるは、手動でしたが、チャンネルはそのまま変えられたので。 いくつか分かった事は、オブジェクト指向は、グローバル変数にしなくても、そのような挙動をすることができる。 複数のオブジェクトを簡単に作る事ができる。 この点は、かなり便利と感じているのですが。 つたない説明ですがよろしくお願い致しますわ。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
プログラムを変更しない前提なら、あるいは、デバッグしなくて良い前提なら、無駄と言っていいでしょう。 そういう場合はオブジェクト指向で作るのではなく、スクリプトでクイックハックするほうが能率的です。 オブジェクト指向の何が良いかは、少なくても数人で作る実用プログラムを、時間のタイトなプロジェクトで経験しないと実感出来ないかもしれません。
その他の回答 (1)
短期的に見れば、質問者様がおっしゃっている通りです。 ちょっとした処理にクラスを作るのはコーディング量が増えるだけです。 でも、長期的に見ると違いが出てきます。 例えばテレビとリモコンが出来ていれば、ビデオとリモコン、エアコンとリモコンなどを作ることが簡単になったり、リモコンの機能を増やしたいときや、テレビがアナログからデジタルに変わったときなどに変更が少なく出来たりします。 そういう「再利用」や「長期にわたるメンテナンス」や「複数の部品の依存関係を少なくする」ときに力を発揮するものです。
お礼
ごきげんよう。 やはり、コーディングや頭の使い所は、増えるのですね。 わたくし自信では気が付きませんが、頑固な所もあり、どうしてもプログラムを作るのなら、一番すっきりとした形にしたいと思っていました。 それが、オブジェクト指向と少しずれているのかもしれません。 まだ、わたしくしには、 q=2772206で質問しているように、継承の具体的な利用法がピンと来ていないのも、オブジェクト指向の便利さが実感できていないせいかもしれません。 ありがとうございます。
お礼
ごきげんよう。 私が感じた事は、必ずしもオブジェクト指向で作る必要はない。 一人で、自分のHP内で作るだけなら、必ずしも必要ではない、といった事です。 プログラムも関数ベースで作ったとしても、デバッグの妨げにはならない。 しかも、PHPだと何かをリアルタイムに大量に動かすといった処理に不向きなので、それほどオブジェクト化することに、私は期待以上の魅力を見いだせませんでした。 書き込み処理や、表示処理のどのスクリプトでも共通するものは、別のファイルにすれば、デバックも簡素化できる。 やはり、オブジェクト指向は、複数のオブジェクトを大量に作る。 継承を利用する。 複数の人数で、短時間、もしくは、再利用できるプログラムを作っていくような事がないと、実感できないのかもしれません。 ありがとうございます。