php中类的self和static的区别以及self和$this->的区别

【PHP面试题04】static、$this、self 区别 在PHP中,static关键字可以用于定义静态属性和静态方法。静态属性是指类共享一个属性,而非每个对象都有一个独立的属性。静态方法则可以在不需要创建类对象的情况下直接调用类中的方法。$this关键字只有在类的方法中才有用。它表示正在被创建的对象实例,主要应用场景是引用当前对象的属性和方法。} }在上面的例子中,$this关键字表示当前正在调用setValue()方法的Example对象,它用来访问Example对象的$value属性。self关键字同样只能在类的内部使用,它表示当前类。 阅读详情

1.self和static的区别

self和static都可以表示指向当前类,但static是php5.3版本之后才有的,强调的是延迟静态绑定,怎么实现延迟静态绑定呢?请看下面代码。

<?php
class a {
    public static function aa () {
        self::bb();
    }
    protected static function bb () {
        echo 'bb';
    }
}
class b extends a {
    protected static function bb () {
        echo 'cc';
    }
}
b::aa();  // 输出的却是bb,这与继承原理相反

所以这时候需要用到static延迟静态绑定

<?php
class a {
    public static function aa () {
        static::bb();
    }
    protected static function bb () {
        echo 'bb';
    }
}
class b extends a {
    protected static function bb () {
        echo 'cc';
    }
}
b::aa(); // 输出cc

2.self和$this的区别

1.self代表类,$this代表对象

2.能用$this的地方一定使用self,能用self的地方不一定能用$this 静态的方法中不能使用$this,静态方法给类访问的。

OpenCV学习笔记(25)基于MFC和OpenCV的摄像机定标与立体匹配测试程序(20140505更新) 最近整理了一下这两年一直在用的摄像机定标与立体匹配测试程序,将代码进行了重构,界面也做了调整,分享出来方便有需要的朋友使用。当然我的编程能力有限,程序可能还有各种bug,请大家多多包涵。相关问题欢迎留言或email联系讨论,谢谢! ==================================================================================源码 阅读详情

相关推荐

【博弈论】势博弈(potential game)、EPG以及最佳响应、Nash均衡和帕累托(pareto)最优的理解

文章目录前言一、Potential game二、Nash均衡和Pareto-optimal(帕累托最优)1.Nash 均衡2.Pareto最优三、Best response(最佳响应)四、Exact potential game(EPG)1.合作-傀儡博弈2.合作博弈3.傀儡博弈4.自激博弈5.双边对称交互博弈使用理解 前言 本文主要详细讲解potential game的概念以及Exact potential game 的定义和分类,以及这么博弈方法是如何在论文中引入并使用的,本文仅是对自己在该模块

weixin_44535200的博客 2万+

php中self与static的区别

原文链接,猛击这里。php中self与static的区别通过一些示例,我们可以很容易看出self和static的区别。假定我们有class Car – 它有两个方法,model和getModel。注意,这里我们使用了关键字self。class Car { public static function model() { self::getModel(); }

未来可7 1万+

SigmaStudio进阶技巧:如何用ADAU1701实现60段EQ与防啸叫算法

本文深入探讨了如何在ADAU1701 DSP芯片上实现专业级音频处理系统。通过精密的资源规划与架构设计,详细讲解了构建高达60段参数均衡器(EQ)的有效方法,并集成了移频与自适应陷波双策略的智能防啸叫算法。内容涵盖从SigmaStudio工程优化、算法模块组合到系统联调实战的全流程,旨在帮助中高级开发者充分利用ADAU1701性能,打造稳定、高效的音频处理解决方案。

weixin_28256233的博客 386

self和static的区别

self引用的是当前类,static允许函数调用在运行时绑定调用类 简单来说,就是使用self返回的值一直是初始类,而static的继承类返回的值是离它最近的类内部的数据。 举个例子: self是一个只认爸妈的小孩,而static是谁带着它就认谁的小孩 <?php class Car{ public static function model(){ self::getModel(); } protected static function getModel(){ echo "i

weixin_43152809的博客 916

VESC电调高级调参指南:电机校准与性能优化实战解析

本文详细解析了VESC电调的高级调参方法,包括电机校准与性能优化实战技巧。从基础参数设置到高级机械参数优化,再到动态性能调优,提供了全面的调参指南。特别针对电机类型、功率设置、电池参数配置等关键环节给出实用建议,帮助用户充分发挥VESC电调的性能潜力。

weixin_30772105的博客 196

9.Vue前端使用iframe集成帆软报表的单点登录

CPT普通报表的地址:【帆软的服务http】+【/webroot/decision/view/report?【帆软的服务http】+【/webroot/decision/view/form?// fineReportHttp:帆软部署的地址。//如果为ie浏览器则页面加载完成后立即执行。// fineLinkSrc:帆软报表的url。//其他浏览器则重新加载onload事件。// 拿到配置的帆软报表的地址参数。//判断是否为ie浏览器。// 帆软报表登录和打开。// 帆软报表登录和打开。

qq_27860623的博客 4650

PHP的self和static区别

在学PHP的面向对象中,我们经常都会遇到静态变量和静态方法,我们都知道使用在一个类中都可以使用self或者static来调用,但是两者还是有很明显的区别,下面来看两段代码就清楚了。 <?php /** * self demo */ class SelfDemo { public static function model() { self::getModel(); } p...

u013928820的博客 629

tmux + Claude Code 远程开发指南:从 WSL 配置到断线无忧

远程开发中,SSH 连接中断常导致后台任务丢失,这是困扰开发者的经典难题。tmux 作为终端复用器,通过将进程挂在常驻会话中,使其脱离 SSH 连接独立运行,从根本上解决了断线导致的任务终止问题。Claude Code 等 AI 编程代理需要长时间运行并保持交互上下文,恰好依赖这种会话持久化能力。结合 Windows Subsystem for Linux 提供类 Unix 环境,开发者可在 Windows 上实现稳定的远程开发工作流。本文将完整介绍从 WSL 环境配置、tmux 会话管理,到与 Claud

weixin_30423065的博客 348

self与static的区别

/*self就是写在哪个类里面, 实际调用的就是这个类. static代表使用的这个类, 就是你在父类里写的static,然后被子类覆盖,使用的就是子类的方法或属性*/ class Person {     public static function name()     {         echo "xiaosan";         echo "";     }

qiyun5656的博客 370

告别‘小爱同学’:用ESP32-S3和esp-sr SDK,从零打造一个离线语音助手(含完整代码)

本文详细介绍了如何利用ESP32-S3芯片和esp-sr SDK从零构建一个离线语音助手,涵盖硬件选型、声学设计、SDK配置及低功耗优化等关键步骤。通过实战案例和完整代码,帮助开发者实现自定义唤醒词和命令词,打造低成本、高隐私的本地语音控制解决方案。

weixin_29041195的博客 371

OpenClaw 多机器人多 Agent 模式:打造你的 AI 助手团队

OpenClaw多Agent模式为企业提供高效的AI助手团队解决方案。通过创建4个独立的飞书机器人(主助理、内容创作、技术开发、AI资讯),每个连接专属Gateway和Agent模型(如Claude Opus/Sonnet、Gemini 2.5),实现专业分工。相比单Agent模式,多Gateway架构具有配置清晰、互不干扰、无需手动切换等优势。系统采用Profile隔离机制,各Agent拥有独立配置和端口。部署过程包括创建机器人应用、配置Agent、运行自动化脚本等步骤,支持私聊或群组@使用。日常提供状态

Maynor的博客 5102

$this和self的区别

一句话,self是引用静态类的类名,而$this是引用非静态类的实例名。

qq_40750454的博客 587

【硬件工程师面经整理2_电源篇】

硬件工程师面经整理_电源篇

LeeYLong的博客 2769

PHP 相关类常量和Static变量,传值赋值和引用赋值,private和static ,对象操作符,define常量(基础笔记一)

识别 private 和 private static class Person{ private static $name; //private 只能在当前类中使用,static,可以不创建类直接用, //privaet static 定义,在 static 方法体中使用,同时外界无...

weixin_42971363的博客 1662

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

PHP中::、->、self、$this操作符的区别

PHP中::、->、self、$this操作符的区别 在访问PHP类中的成员变量或方法时,如果被引用的变量或者方法被声明成const(定义常量)或者static(声明静态),那么就必须使用操作符::,反之如果被引用的变量或者方法没有被声明成const或者static,那么就必须使用操作符->。 另外,如果从类的内部访问const或者static变量或者方法,那么就必须使用自引用的self,反之

大庄园 394

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

用self和this有什么区别啊

PHP中::、->、self、$this操作符的区别 在访问PHP类中的成员变量或方法时,如果被引用的变量或者方法被声明成const(定义常量)或者static(声明静态),那么就必须使用操作符::,反之如果被引用的变量或者方法没有被声明成const或者static,那么就必须使用操作符->。 另外,如果从类的内部访问const或者static变量或者方法,那么就必须使用自引用的self,反之

萧刚 3156

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

php后静态绑定,PHP类与对象后期静态绑定操作实例详解

本文实例讲述了PHP类与对象后期静态绑定操作。分享给大家供大家参考,具体如下:做项目是后期静态绑定非常有用。比如service层单例模式,使用后期静态绑定就非常好实现。自 PHP 5.3.0 起,PHP 增加了一个叫做后期静态绑定的功能,用于在继承范围内引用静态调用的类。准确说,后期静态绑定工作原理是存储了在上一个“非转发调用”(non-forwarding call)的类名。当进行静态方法调用时...

weixin_39974882的博客 108

PHP 中 self、static、$this 的区别 & 后期静态绑定详解

self、static 和 $this 的区别为了更好地理解 self、static 和 $this 的区别,先来看一个示例。&lt;?php class A { protected $name = 'A'; static $alias = 'a'; const HASH = 'md5'; public function dd() { echo ...

彳亍 7790

php static self 区别,php中static、self、$this的区别

php中static、self、$this的区别有:1、this写在类中的非静态方法中, 实例化该类,谁调用该方法(一般是对象调用)$this则表示该对象的引用。class Person {public $name;public function getName() {echo $this->name;}}$p = new Person();$p2 = new Person();$p-&gt...

weixin_28523493的博客 291

php $this 和self,PHP基础一 $this ,static 和 self的区别

本来想写的,算了写个锤子版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.youkuaiyun.com/mrzhouxiaofei/article/details/78648079————————————————版权声明:本文为优快云博主「潜心做事GG」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原...

weixin_42512128的博客 313

PHP关键字Self、Static和parent的区别

在使用PHP代码时,您可能经常会遇到和。但是当你第一次作为一个开发人员开始的时候,有时候你会很困惑,不知道它们是做什么的,以及它们之间的区别。在我第一次作为开发人员开始工作后的很长一段时间里,我认为和是完全一样的。

希望我的博客,能帮上你解决学习中工作中所遇到的问题 1223

PHP 中 parent、self、static、$this 的区别 & 后期静态绑定详解

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34088583的博客 537

self 和 this php,php中static、self和$this的区别是什么

php中static、self和$this的区别是什么发布时间:2020-07-01 17:55:41来源:亿速云阅读:75作者:Leahphp中static、self和$this的区别是什么?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。php中static、self、$this的区别有:1、$this 表示对象的引用 $thi...

weixin_30849279的博客 240

php self this static,php中static、self、$this的区别有哪些?

php中static、self、$this的区别有:1、【$this】表示对象的引用,写在类中的非静态方法中;2、self和this不同,它指向类本身,不指向任何实例化对象;3、static一般用来访问类中的静态变量和静态方法。php中static、self、$this的区别有:1、$this 表示对象的引用 $this写在类中的非静态方法中, 实例化该类,谁调用该方法(一般是对象调用)$thi...

weixin_35836405的博客 210

PHP中self $this static的区别

class A { public function test() { $this->dd(); self::dd(); static::dd(); } public static function dd() { echo 'a'; } } class B extends A { public static function dd() { echo ‘b’; } } class C ...

qq_38825492的博客 263

$this、self和static

$this 只有在类产生实例之后才会存在,我们只是设置一个属性,此时不存在 $this,下图会产生语法错误。 记得这种情况不要使用[0],[1] 这种写法,全都用常量代替,还有获取一个 pubblic static 属性不需要 new一个实例,app(classA) 这个方式 == ...

chuihezan4315的博客 161
上一篇: php实现二叉树的创建以及前序/中序/后序遍历
下一篇: 堆和栈的区别
lufeeBlog
博客等级 码龄9年 2粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值