クラスの継承を理解しようとしています。
次のコード (PHP) があるとします。
class A {
public function fire() {
echo "Fire!";
}
}
class B extends A {
public function water() {
echo "Water!";
}
}
class C extends B {
public function lightning() {
echo "Lightning!";
}
}
$cObject = new C();
$cObject->fire();
私の質問は
- fire() メソッドはクラス C にもクラス B にも定義されていませんが、$cObject->fire() は機能します。クラス C は、クラス B のメソッドだけでなく、クラス A のメソッドも継承しますか? 私は何レベルの深い継承が行われるかを調べようとしています。
- 現在のオブジェクト インスタンスには存在しないが、このプロパティまたはメソッドは親クラスまたは祖先クラスに存在するプロパティまたはメソッドを呼び出す用語はありますか? 編集: つまり、fire() はクラス C で定義されていませんが、$cObject は引き続き fire() を呼び出すことができます。この概念を表す特定の用語/専門用語はありますか? (または、「クラス継承」の定義の一部にすぎませんか)