<?php header('content-type:text/html;charset=utf-8'); class Person{ public $username; public $age; public function __construct($username,$age){ $this->username=$username; $this->age=$age; echo 'Person类的构造函数<br/>'; } public function getInfo(){ return '用户名:'.$this->username.'--年龄:'.$this->age; } //final 关键字代表的是最终,不能被重写或者重载 // PHP 5 新增了一个 final 关键字。如果父类中的方法被声明为 final,则子类无法覆盖该方法。如果一个类被声明为 final,则不能被继承。 final public function test(){ echo '我才是最帅的人...<br/>'; } } class Student extends Person{ // public $username; // public $age; public $school; public function __construct($username,$age,$school){ // $this->username=$username; // $this->age=$age; parent::__construct($username,$age); $this->school=$school; echo 'Student的构造函数...<br/>'; } public function study(){ return $this->username.'在'.$this->school.'上学<br/>'; } public function getInfo(){ // return '用户名:'.$this->username.'--年龄:'.$this->age.'--学校:'.$this->school; $info=parent::getInfo(); $info.='--学校:'.$this->school; return $info; } } class Teacher extends Person{ public $course; public function __construct($username,$age,$course){ parent::__construct($username,$age); $this->course=$course; } public function teach(){ return $this->username.'教'.$this->course.'<br/>'; } public function getInfo(){ $info=parent::getInfo(); $info.='所教课程:'.$this->course; return $info; } public function test(){ echo 'i am the smart boy...<br/>'; } } // $stu1=new Student('king',12,'北大'); // echo $stu1->study(); // echo $stu1->getInfo(); $teacher1=new Teacher('queen',33,'PHP'); echo $teacher1->teach(); echo $teacher1->getInfo(); echo '<br/>'; //final 关键字代表的是最终,不能被重写或者重载 // PHP 5 新增了一个 final 关键字。如果父类中的方法被声明为 final,则子类无法覆盖该方法。如果一个类被声明为 final,则不能被继承。 $teacher1->test();