• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:php クラス)

phpエクラスのメンバ変数に値を代入する意味と必要性について教えてください

このQ&Aのポイント
  • phpエクラスのメンバ変数に値を代入する意味と必要性について教えてください。
  • メンバ変数の値を書かなくても動作できるのになぜ必要なのでしょうか?
  • 参考書のサンプルコードを使って、メンバ変数に値を代入する理由を説明してください。

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

  • ベストアンサー
回答No.1

確かにこの例だとあんまり意味がないですね。 セッターがないですもんね~ 本来はたとえば、 function getage(){return $this->age;} これの反対側 function setage($age) { $this->age=$age; } として、クラス内の、$ageはprivateにした方がいいでしょうね。 で、例えば範囲があるとしたら、 ageは、1~50までとする?などの条件があるとき。 function setage($age) { if ($agr<1) $age=1; if ($agr>50) $age=50; $this->age=$age; } などと補正や、物により、それの代入で 他の部分も変化してほしい場合などにも、使えたりですが。 ってことで、私の回答としては、 「このサンプルが悪い!」 と感じます。

dhtfyjh
質問者

お礼

ありがとうございました。

その他の回答 (1)

  • t_ohta
  • ベストアンサー率38% (5238/13705)
回答No.2

一般的には初期値を設けておいて、わざわざ値をセットしなくても正常に動作するようにするのが目的です。 例示されている内容であれば設定しなくても何ら問題ありませんが、変数に文字列が入ってないと処理の途中でエラーになるとか、数値じゃ無いと計算中にエラーになるような事態を避けるのが目的です。 何か値を入れなければいけないのであれば、本当はイニシャライズ時に値を指定しないと使えないような仕組みにする方がいいとは思います。

関連するQ&A