OOP PHPのグリップに慣れていて、わかりましたが、final
キーワードに問題があります。 Final
は、サブクラスのメソッドを停止し、スーパークラスのメソッドをオーバーライドします。下に私はそれを試して、私のIDEはいくつかのエラーを示していると動作しません。私は見て見ましたが、この本は、これはサブクラスではなくスーパークラスメソッドを呼び出すべきだと言います。最終的なメソッドのサブクラスメソッドを定義する際のエラー
$object=new userprofile();
$object->name="Mike";
$object->age=22;
$object->sex="Male";
//2 properties of subclass
$object->email="[email protected]";
$object->website="http://domain.com";
echo $object->get_name(); //method call
class user{
public $name, $age, $sex;
final function get_name(){
return "Not overriden";
}
}
class userprofile extends user{
public $email,$website;
function get_name(){
return $this->website;
}
}
スクリプトを実行すると、どのようなエラーが発生しますか? – JJJ
こんにちは、Juhana ..致命的なエラー:41行目のH:\ xampp \ htdocs \ PHP_testers \ objects_OOP \ object_inheritence.phpのfinalメソッドuser :: get_name()をオーバーライドできません –