この記事では、主に PHP がオブジェクト指向継承する場合のいくつかのポイントをまとめています:
//people.class.php class People{ private $name; private $sex; private $birthday; private function construct($name='',$sex='01',$birthday='1999-01-01'){ echo 'people---construct<br>'; $this->name = $name; $this->sex = $sex; $this->birthday = $birthday; } public function get($key){ return $this->$key; } public function set($value,$key){ $this->$key = $value; } public function show(){ return 'people---'; } }
//student.class.php class Student extends People{ private $s_num; private $s_class; public function construct($name,$sex,$birthday,$num,$class){ //parent::construct($name,$sex,$birthday); echo 'Student--construct<br>'; $this->name = $name; $this->sex = $sex; $this->birthday = $birthday; $this->s_num = $num; $this->s_class = $class; } public function showInfo(){ return 'sutdent---'.$this->name.'----bir='.$this->birthday .'num=='.$this->s_num.'----class=='.$this->s_class; } }上記の 2 つのクラス Student は People クラスを継承します
のメソッド親クラスは Private です。つまり、Java ではこのクラスは継承できませんが、PHP ではこのクラスは継承できますが、親クラスのコンストラクターをサブクラス Student
で呼び出すことができないことが 1 つあります。 parent::construct($name,$sex,$birthday);
それ以外の場合はエラーが報告され、親クラスのコンストラクターがプライベートの場合、サブクラスには独自のコンストラクターが必要であり、明確に記述する必要があります。そうでない場合、継承は達成できません。
同時に、Javaと異なるのは、サブクラスが親クラスを継承し、サブクラスが独自のコンストラクターを持つ場合、親クラスのコンストラクターは、サブクラス コンストラクターで呼び出されます。
以上がPHP におけるオブジェクト指向継承のいくつかの側面の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。