<?php
/*1.instanceof关键字:用来判断对象是否属于某个类时使用,例如:$p instanceof classname;
返回的是一个bool型的值;子类创建出来的对象当然属于该子类,同样也必定属于该子类的父类;
2.final关键字:用来修饰类和类中所定义的方法,不能用来修饰成员属性;
当类用final修饰之后就再不能被继承,同样的方法也是;
final的作用就是用来确定最终的方法和类(这个方法也就是最终的方法不让子类去改)
*/
class person{
public $name;
protected $age;
public $sex;
function __construct($name,$age,$sex){
$this->name=$name;
$this->age=$age;
$this->sex=$sex;
}
final function say(){
echo "我的名字是{$this->name},我的年纪是:{$this->age},我的性别为:{$this->sex}<br>";
}
function eat(){
}
function run(){
}
}
class student extends person{
public $school="大连工业大学";
function say(){
parent::say();
echo "我所在的学校是{$this->school}";
}
function study(){
echo "111111111";
}
}
$stu=new student("刘仁","20","男");
//访问子类中的覆盖方法时会报错,英文父类中的say()方法已经被设置为了final无法被继承和重载
$stu->say();
//下面判断对象是否属于student类,属于输出第一条语句;
if($stu instanceof person){
echo "\$stu对象属于student的父类";
}
else{
echo "该对象不属于这个父类@!";
}
?>
/*1.instanceof关键字:用来判断对象是否属于某个类时使用,例如:$p instanceof classname;
返回的是一个bool型的值;子类创建出来的对象当然属于该子类,同样也必定属于该子类的父类;
2.final关键字:用来修饰类和类中所定义的方法,不能用来修饰成员属性;
当类用final修饰之后就再不能被继承,同样的方法也是;
final的作用就是用来确定最终的方法和类(这个方法也就是最终的方法不让子类去改)
*/
class person{
public $name;
protected $age;
public $sex;
function __construct($name,$age,$sex){
$this->name=$name;
$this->age=$age;
$this->sex=$sex;
}
final function say(){
echo "我的名字是{$this->name},我的年纪是:{$this->age},我的性别为:{$this->sex}<br>";
}
function eat(){
}
function run(){
}
}
class student extends person{
public $school="大连工业大学";
function say(){
parent::say();
echo "我所在的学校是{$this->school}";
}
function study(){
echo "111111111";
}
}
$stu=new student("刘仁","20","男");
//访问子类中的覆盖方法时会报错,英文父类中的say()方法已经被设置为了final无法被继承和重载
$stu->say();
//下面判断对象是否属于student类,属于输出第一条语句;
if($stu instanceof person){
echo "\$stu对象属于student的父类";
}
else{
echo "该对象不属于这个父类@!";
}
?>