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

<?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 "该对象不属于这个父类@!";
    }
?>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值