第10章 オブジェクト指向構文 / 第2回 模擬試験
PHPの抽象クラスとインターフェースに関する次の記述のうち、正しいものはどれか。
抽象クラスは`abstract`キーワードで宣言し、直接インスタンス化できない。
正解
インターフェースはメソッドの実装(本体)を持つことができる。
1つのクラスは複数のインターフェースを実装できない。
抽象メソッドは処理内容を持ち、子クラスでオーバーライドできない。
解説
抽象クラスはインスタンス化できません。インターフェースは(PHP8時点で)メソッドのシグネチャのみ定義し、1クラスで`implements`により複数実装が可能です。(参照: 独習PHP 第4版 第10章 オブジェクト指向構文 10.4節 ポリモーフィズム p.511〜522)