- 开发无止境 -
Data: 2019-05-27 13:41:58Form: JournalClick: 6
PHP
类的三大特性extends
关键词继承父类class Teacher{
public $name;
public $school;
// 构造方法
public function __construct($name, $school){
$this->name = $name;
$this->school = $school;
}
public function fun1(){
echo '姓名:灭绝师太,学校:PHP中文网<hr/>';
}
public function fun2(){
return '姓名:灭绝师太,学校:PHP中文网<hr/>';
}
public function fun3(){
// 在类中使用伪变量: "$this" 引用当前类的成员变量
return '姓名:'.$this->name.',学校:'.$this->school.'<hr/>';
}
public function fun4(){
// 在类中使用伪变量: "$this" 引用当前类的成员方法
return $this->fun3();
}
// 析构方法
public function __destruct(){
echo '类执行完毕,要关闭了';
}
}
// 子类代码复用
class PHPTeacher extends Teacher{
}
// 实例化
$obj = new PHPTeacher('西门大官人','PHP中文网');
echo $obj->fun3();
public
默认的, 关键词定义类内、类外、子类都可见protected
关键词定义类内、子类可见,类外不可见private
关键词定义类内可见, 子类、类外不可见class Teacher{
protected $name;
private $school;
// 构造方法
public function __construct($name, $school){
$this->name = $name;
$this->school = $school;
}
protected function fun1(){
echo '姓名:灭绝师太,学校:PHP中文网<hr/>';
}
private function fun2(){
return '姓名:灭绝师太,学校:PHP中文网<hr/>';
}
public function fun3(){
// 在类中使用伪变量: "$this" 引用当前类的成员变量
return '姓名:'.$this->name.',学校:'.$this->school.'<hr/>';
}
public function fun4(){
// 在类中使用伪变量: "$this" 引用当前类的成员方法
return $this->fun3();
}
// 析构方法
public function __destruct(){
echo '类执行完毕,要关闭了';
}
}
// 子类代码复用
class PHPTeacher extends Teacher{
public function fun5(){
$this->fun1();
}
public function fun6(){
$this->fun2();
}
public function fun7(){
return $this->name;
}
public function fun8(){
return $this->school;
}
}
// 实例化
$obj = new Teacher('西门大官人','PHP中文网');
echo $obj->fun1();
echo $obj->fun2();
echo $obj->name;
echo $obj->school;
$obj2 = new PHPTeacher('西门大官人','PHP中文网');
echo $obj2->fun1();
echo $obj2->fun2();
echo $obj2->fun5();
echo $obj2->fun6();
echo $obj2->fun7();
echo $obj2->fun8();
class Teacher{
protected $name;
private $school;
// 构造方法
public function __construct($name, $school){
$this->name = $name;
$this->school = $school;
}
protected function fun1(){
echo '姓名:灭绝师太,学校:PHP中文网<hr/>';
}
private function fun2(){
return '姓名:灭绝师太,学校:PHP中文网<hr/>';
}
public function fun3(){
// 在类中使用伪变量: "$this" 引用当前类的成员变量
return '姓名:'.$this->name.',学校:'.$this->school.'<hr/>';
}
public function fun4(){
// 在类中使用伪变量: "$this" 引用当前类的成员方法
return $this->fun3();
}
// 析构方法
public function __destruct(){
echo '类执行完毕,要关闭了';
}
}
// 子类代码复用
class PHPTeacher extends Teacher{
public function fun5(){
$this->fun1();
}
public function fun6(){
$this->fun2();
}
public function fun4(){
return '我是重写的方法';
}
}
$obj2 = new PHPTeacher('西门大官人','PHP中文网');
echo $obj2->fun4();