• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPの読解お願いいたします クラスについて)

PHPクラスの読解についての質問

このQ&Aのポイント
  • PHPのクラスについての読解について質問があります。コードの解説とエラーの原因を教えてください。
  • 独学で学んでいるPHPのクラスの読解に苦戦しています。コードをご覧いただき、エラーの原因と解決策を教えてください。
  • PHPのクラスに関する質問です。コードを解説していただき、エラーの原因と解決方法を教えてください。

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

  • ベストアンサー
  • php504
  • ベストアンサー率42% (926/2160)
回答No.2

エラーは<?phpが?>で閉じてないからでしょうかね >クラス内ではメンバ変数を$thisであらわす必要性があることから、$widthと$heightをそれぞれ$this->width $this->heightにする。 同じ変数名だと紛らわしいですね。 $widthと$this->widthはまったく別の変数です。 function __construct($w,$h){ $this->width = $w; $this->height = $h; } のように別名にしたほうが紛れがないですね。 >●で$test->getarea()を呼んでいるので●●の部分の計算が行われ、その値を再度$test->getarea()に返す。 計算の結果は print に返されます。つまり計算の結果が表示されます。 クラスのメンバ関数の呼び出しも普通の関数呼び出しも違いはありません。 >また関数呼び出し文は文字列ではないので、""は必要はないとの理解でよろしいでしょうか。 その通りです。 >さらに△の二行につき、このコード上での存在意義とはなんでしょうか。 protected とすることで外部から直接($this->widthのように)アクセスできないようにしています。

その他の回答 (2)

  • php504
  • ベストアンサー率42% (926/2160)
回答No.3

訂正 >さらに△の二行につき、このコード上での存在意義とはなんでしょうか。 protected とすることで外部から直接($this->widthのように)アクセスできないようにしています。 ↓ >さらに△の二行につき、このコード上での存在意義とはなんでしょうか。 protected とすることで外部から直接($test->widthのように)アクセスできないようにしています。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>なぜかエラーが出ます エラーの内容を書かないとなんとも・・・ そもそもPHPのバージョンは何をご利用になっていますか? PHP4など古いバージョンをつかっていてエラーになっているとか

関連するQ&A

専門家に質問してみよう