PHP延迟绑定练习

本文通过一个PHP示例详细解析了延迟绑定的概念,演示了如何在继承的类中使用self和static关键字来调用方法和属性,并展示了不同绑定方式对结果的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?php
/*延迟绑定复习
父类:高级动物
年龄:1
腿:4
哭:呜呜
方法:t1  t2
*/
class Animal {
    const age = 1;
    public static $leg = 4;
 
    public static function cry() {
        echo '呜呜<br />';
    }
 
    public static function t1() {
        self::cry();
        echo self::age,'<br />';
        echo self::$leg,'<br />';
    }
 
    public static function t2() {
        static::cry();
        echo static::age,'<br />';
        echo static::$leg,'<br />';
    }
 
}
 
 
class Human extends Animal {
    public static $leg = 2;
 
    public static function cry() {
        echo '哇哇<br />';
    }
}
 
class Stu extends Human {
    const age = 16;
 
    public static function cry() {
        echo '嘤嘤<br />';
    }
}
 
Stu::t1(); 
/*自身没有T1方法,从父类中寻找t1方法,人类没有、一直找到高级动物类!执行父类的t1方法,self所以执行父类自身的属性!结果:呜呜,1,4*/
Stu::t2(); 
/*自身同样没有t2方法,到父类中寻找,父类的方法是执行静态绑定属性(执行运行程序绑定)!所以执行运行程序的那一刻绑定的属性!如果没有父类中寻找!答案:嘤嘤,16,2*/
原文博客: 开拓者博客
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值