- ベストアンサー
PHPクラスの読解についての質問
- PHPのクラスについての読解について質問があります。コードの解説とエラーの原因を教えてください。
- 独学で学んでいるPHPのクラスの読解に苦戦しています。コードをご覧いただき、エラーの原因と解決策を教えてください。
- PHPのクラスに関する質問です。コードを解説していただき、エラーの原因と解決方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
エラーは<?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)
訂正 >さらに△の二行につき、このコード上での存在意義とはなんでしょうか。 protected とすることで外部から直接($this->widthのように)アクセスできないようにしています。 ↓ >さらに△の二行につき、このコード上での存在意義とはなんでしょうか。 protected とすることで外部から直接($test->widthのように)アクセスできないようにしています。
- yambejp
- ベストアンサー率51% (3827/7415)
>なぜかエラーが出ます エラーの内容を書かないとなんとも・・・ そもそもPHPのバージョンは何をご利用になっていますか? PHP4など古いバージョンをつかっていてエラーになっているとか