面向对象编程之常用关键字instanceof和final

xiaoxiao2021-02-28  64

<?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 "该对象不属于这个父类@!";     } ?>
转载请注明原文地址: https://www.6miu.com/read-80951.html

最新回复(0)