第10章 オブジェクト指向構文 / 第1回 模擬試験

クラスに関する次の記述のうち誤っているものはどれか。なお「¥」はバックスラッシュに読み替えること。

クラスはコンストラクタと呼ばれる特殊なメソッドを備えることができる。PHPでは、クラスのコンストラクタメソッドは必ずアンダースコア2つから始まる`__construct()`という名前であり、コンストラクタはオブジェクトを生成するときに呼び出される。
コードの構造化に役立つオブジェクトの特徴としてサブクラスの概念がある。サブクラスを使うと、独自の機能を追加してクラスを再利用できる。サブクラス(子クラス)は既存クラス(親クラス)のすべてのメソッドとプロパティから始まり、変更や追加も可能である。
クラスのプロパティのアクセス権の指定方法には、`public`のほかに、`private`や`protected`がある。`private`の指定はそのクラス外のコードがプロパティにアクセスできないようにすることを意味する。`protected`の指定は、そのクラス外でプロパティにアクセスできるコードはサブクラスのコードだけであることを意味する。
クラスには静的メソッドを定義できる。静的メソッドはクラス自体で実行されるほか、特定のオブジェクトインスタンスでも実行されるので`$this`変数が使える。 正解
解説
静的メソッド(`static`)はクラス自体に属するものであり、特定のオブジェクトインスタンスに紐づきません。`$this`変数はインスタンスメソッド内で使用されます。 (参照: 独習PHP 第4版 第10章 オブジェクト指向構文 10.1節 クラスの定義 p.472〜488)