• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:オブジェクト指向の継承について。)

オブジェクト指向の継承について

このQ&Aのポイント
  • オブジェクト指向の継承の利用法について初心者の方にわかりやすく解説します。
  • カウンタを継承して画像カウンターを作る方法や、PHPにおける継承の書き込み処理や他の処理の継承のコツについて解説します。
  • 継承はお客様の要望の変更やアイディアの甘さを補完するために活用されることが多いですが、自分のHP内で一人でスクリプトを作っている場合でも継承を活用するメリットがあります。例えば、掲示板を作るに当たって継承を使うサンプルについても解説します。

質問者が選んだベストアンサー

  • ベストアンサー
  • tthe_mine
  • ベストアンサー率46% (19/41)
回答No.2

掲示板プログラムの規模であれば、継承を利用した方が劇的に良くなる場面というのが思いつきません。 もう少し規模が大きいアプリケーション、もしくは汎用性が高いライブラリを題材にすると良い例が示せるかもしれません。 継承は無理に使う必要はありませんよ。

noname#25295
質問者

お礼

ごきげんよう。 やはり、掲示板程度では・・・というか、素人が作るPHPでオブジェクト指向が必要か?というのに、疑問を持っていたので、そう言って頂けると助かります。 とりあえず、オブジェクト指向は少しずつと思っています。 ありがとうございます。

その他の回答 (1)

noname#38830
noname#38830
回答No.1

ありきたりなたとえですが、 トラックは車です。 ごみ収集車は車です。 レーシングカーは車です。 同じ車なので、タイヤがついていたり、 エンジンがついていたり、エンジンを掛けることができたり、 走ることができたり、燃料があったり、補充したり、などなど 多くの部分で、共通項があります。 ただし、レーシングカーに荷台は必要ありませんし、 トラックにゴミを潰す機能は必要ありません。 掲示板のプログラムでも、同じようなことが言えないでしょうか。 題名と本文はだいたい、どんな掲示板にもあります。 共通項です。(タイヤ、燃料にあたる) 画像掲示板には画像を表示する機能が必要です。 音を再生する機能は必要ありません。 ファイルアップができる掲示板には、 画像を表示する機能は必要ありませんが、 ダウンロード用にファイルへのリンクを表示する機能が必要です。 ここで、複数の機能を作るために共通項である部分を複数の機能の数だけ作るのは大変手間のかかることです。 コードをコピーしてしまえばいいように思えますが、 共通項の部分に、変更を加えた場合どうなるでしょうか。 すべてのコードを修正しなければなりません。 その点で継承は便利です。 ミスも少なくなります。

noname#25295
質問者

補足

はい、それはわかります。 ただ、この例えだと、タイヤとエンジンの構造で基礎を作り、関数で重ねる処理ですむような気がします。 荷台関数、ゴミをつぶす関数で。 関数自体を別のファイルで作れば、さほど、デバッグの処理も難しくはありません。 画像掲示板も、画像を表示する関数を作り、関数で処理できると思います 継承は、レーシングカーなら、通常のタイヤをレーシングカー用のタイヤに継承するイメージなのですが。 これを関数で作ると、レーシングカー用のタイヤと、普通のタイヤを作らないといけません。 しかも、現実の世界として、レーシングカーと、ゴミ集積車と普通の車の設計図は本当に同じでしょうか? わたくしは、素人ゆえにオブジェクト指向=現実的な表現をしてしまいますが、詳しい方は、あくまで”掲示板を作るに当たってのサンプル”をお願い致します。 オブジェクト指向は、現実を模したものとするのは、誤解を生じさせる可能性がある表現だと思います。

関連するQ&A