返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP中self和static的区别
  • 458
分享到

PHP中self和static的区别

php开发语言 2023-08-31 15:08:22 458人浏览 薄情痞子
摘要

今天闲来无事,突然有个朋友问我self和static的区别?那么好,就让我来跟大家解答一下这个问题。 self :它会调用当前类的方法;通俗来说,self就是写在哪个类里面, 实际调用的就是

今天闲来无事,突然有个朋友问我self和static的区别?那么好,就让我来跟大家解答一下这个问题。

self :它会调用当前类的方法;通俗来说,self就是写在哪个类里面, 实际调用的就是这个类的方法。

static(延迟静态绑定):在PHP5.3中,加入了一个新的特性,叫做延迟静态绑定。它可以帮我们实现多态。简单来说,延迟静态绑定意味着,当我们用static关键字调用一个继承方法时,它将在运行时绑定调用类。通俗来说,static代表使用的这个类,就是你在父类里写的static,然后被子类覆盖,使用的就是子类的方法或属性。

废话不多说,直接撸代码

class Person {    public static function name ($nickname) {        echo $nickname;    }    public static function callSelf()    {        self::name('我是self里的nickname');    }    public static function callStatic()    {        static::name('我是static里的nickname');    }}class Man extends Person {    public static function name($nickname)    {        echo $nickname = '我是Man里的nickname';    }}Man::callSelf(); // 输出: 我是self里的nicknameMan::callStatic();  // 输出: 我是Man里的nickname注:如果将Man里的name注释掉,那么:Man::callStatic();将会调用父类里的name。 // 输出: 我是static里的nickname

好啦,以上就是slef和static的区别啦。如有不同理解,请多多指教。

来源地址:https://blog.csdn.net/zhouqi1427/article/details/131818663

--结束END--

本文标题: PHP中self和static的区别

本文链接: https://lsjlt.com/news/386102.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • PHP中self和static的区别
    今天闲来无事,突然有个朋友问我self和static的区别?那么好,就让我来跟大家解答一下这个问题。 self :它会调用当前类的方法;通俗来说,self就是写在哪个类里面, 实际调用的就是...
    99+
    2023-08-31
    php 开发语言
  • php中self和static有什么区别
    这篇文章将为大家详细讲解有关php中self和static有什么区别,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP开发环境搭建工具有哪些一、phpStudy,是一个新手入门最常用的开发环境。二、Wa...
    99+
    2023-06-14
  • PHP中$this,self,static有什么区别
    这篇文章主要讲解了“PHP中$this,self,static有什么区别”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP中$this,self,static有什么区别”吧!学习时间简单地...
    99+
    2023-06-16
  • php类中static与self的使用区别浅析
    使用 self:: 或者 __CLASS__ 对当前类的静态引用,取决于定义当前方法所在的类: 使用 static:: 不再被解析为定义当前方法所在的类,而是在实际运行时计算的。也可...
    99+
    2024-04-02
  • 浅谈Java中static和非static的区别
    关于static和非static变量的区别 static 修饰的变量称为类变量或全局变量或成员变量,在类被加载的时候成员变量即被初始化,与类关联,只要类存在,static变量就存在。非static修饰的成员变量是在对象new出来的时候划分存...
    99+
    2023-05-31
    java static ava
  • c和c++中static的区别
    static 在 c 和 c++ 中的区别包括:作用域:c 中仅限于文件,c++ 可为文件或类作用域;链接:c 中仅链接到所在文件,c++ 中链接到整个程序;初始化:c 中默认为 0,c...
    99+
    2024-05-14
    c++ 作用域
  • static在c和c++中的区别
    static关键字在c和c++中用于控制变量的生命周期和作用域。在c中,它延长局部变量和限制全局变量的作用域。在c++中,它还用于定义类成员变量和函数、命名空间中的变量和函数,以及函数内...
    99+
    2024-05-14
    c语言 c++ 作用域
  • php中const和static变量有哪些区别
    这篇文章将为大家详细讲解有关php中const和static变量有哪些区别,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。区别:const一旦被定义不可更改,static修饰的变量是可以被更改的。const...
    99+
    2023-06-14
  • php中const与static有哪些区别
    这篇文章主要介绍了php中const与static有哪些区别,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php中const与static的区别:1、const只能修饰类的属...
    99+
    2023-06-08
  • Java中static和volatile关键字的区别
    1. 作用范围不同 static关键字:用于创建类级别的变量或方法,所有类的实例共享同一个static变量的副本。 volatile关键字:用于确保一个变量在多线程环境中的可见性,使所有线程都能看到最新的变量值。 2....
    99+
    2023-10-29
    关键字 区别 Java
  • PHP 中的 this 和 self
    this 和 self 是面向对象编程 (OOP) 的组件属性。OOP 是 PHP 的一个组件特性,它是一种编程过程,而不是过程式编程,我们在其中编写执行数据操作的函数。 使用 OOP,我们可以创建...
    99+
    2024-02-27
  • java中fina和static有什么区别
    本篇文章给大家分享的是有关java中fina和static有什么区别,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Java有哪些集合类Java中的集合主要分为四类:1、List...
    99+
    2023-06-14
  • vue中assets与static的区别
    vue中assets与static的区别:assets中的文件会经过webpack打包并重新编译,而static中的文件是不会经过编译的,打包后会生成dist文件夹。将图片放在assets和static中,在html页面中都可以使用,但是在...
    99+
    2024-04-02
  • fina和static在java中有什么区别
    fina和static在java中有什么区别?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Java有哪些集合类Java中的集合主要分为四类:1、List列表:有序的,可重复...
    99+
    2023-06-14
  • php中=和==的区别
    php 中 = 和 == 是不同的运算符,= 用于分配值,返回分配的值,而 == 用于比较两个值是否相等,返回布尔值。== 是类型敏感的,而 = 则不是。 PHP 中 = 和 == 的...
    99+
    2024-04-27
  • php中=和==的区别
    php 中 = 和 == 是不同的运算符,= 用于分配值,返回分配的值,而 == 用于比较两个值是否相等,返回布尔值。== 是类型敏感的,而 = 则不是。 PHP 中 = 和 == 的...
    99+
    2024-04-27
  • php中==和===的区别
    php 中 == 和 === 的区别 PHP 中的 == 和 === 都是相等比较运算符,但它们在比较方式上存在差异。 == 松散比较:比较两个值的内容,但允许类型转换。 例如: '1...
    99+
    2024-04-27
  • vue中的.capture和.self怎么区分
    今天小编给大家分享一下vue中的.capture和.self怎么区分的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。.capt...
    99+
    2023-06-30
  • C# const和static readonly区别是什么
    这篇文章主要介绍“C# const和static readonly区别是什么”,在日常操作中,相信很多人在C# const和static readonly区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答...
    99+
    2023-06-17
  • PHP中const和define的区别
    一、定义方式的区别 define:define是一个函数,用于定义常量,语法格式是define(name, value, case-insensitive)。其中,name是必需的,规定常量的名称;value是必需的,规定常量的值;c...
    99+
    2023-10-29
    区别 PHP const
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作