今回のコード
例
<?php
class User { //こっちが親クラス
public $name; //プロパティ
public function __construct($name) { //コンストラクター
$this->name = $name;
}
public function sayHi() { //メソッド
echo "hi, $this->name!(こっちはUserクラスから)<br>";
}
}
class AdminUser extends User { //こっちは子クラス
// プロパティやコンストラクターはオーバーライド
public function sayHi() {
echo "hi, $this->name!(こっちはAdminUserクラスから)";
}
}
$user1 = new User("太郎"); //親クラスからインスタンス化
$user2 = new AdminUser("次郎"); //子クラスからインスタンス化
$user1->sayHi();
$user2->sayHi();
実行結果
hi, 太郎!(こっちはUserクラスから)
hi, 次郎!(こっちはAdminUserクラスから)
親クラスと子クラス
クラスの継承の場合、元になる方のクラスを親、継承する方のクラスを子と呼ぶ。
今回のコードの場合、Userクラスの方が「親」、AdminUserクラスの方が「子」にあたる。
子クラスの書き方
上記の例より抜粋
class AdminUser extends User {
}
AdminUserというクラス名なので、普通通り「class AdminUser」と記述。
その後に、Userクラスを引き継ぐという意味で「extends User」とすると継承できる。