最初は、コンストラクターの両方のメソッド呼び出しが機能する理由に戸惑いましたが、今では理解できたと思います。拡張クラスは、クラス自体で宣言されているかのように親のメソッドを継承し、メソッドは親に存在するため、両方が機能するはずです。
parent
ここで、メソッドを(またはを介して)呼び出すための好ましい方法(つまり、ベストプラクティス)があるthis
かどうか、これらが同じコードを実行するための本当に同じ方法であるかどうか、または1つを使用するときに注意事項があるかどうか疑問に思っています。もう1つ。
申し訳ありませんが、私はおそらくこれを考えすぎています。
abstract class Animal {
function get_species() {
echo "test";
}
}
class Dog extends Animal {
function __construct(){
$this->get_species();
parent::get_species();
}
}
$spike = new Dog;