前言:

  php中 this  用于代指 对象, 而代指类的却有3个:self , static , parent

self , static , parrent 既然都能代指类,那么他们之间又有哪些区别呢?

  • self , static : 代指 自身类
  • parent        : 代指  父类

self , static 又有何区别?

  问题来了,既然self , static 都代指自身,那么php为嘛要搞出两个东东来代指自身呢?

  官方解释:

    self    :  调用自身代码段的静态成员,

    static : 调用的是从内存的堆 中拿出此类的静态成员

  好懵逼的样子对不对?每关系,大海君给你讲个例子就明白了。

Usage Example 1:

分析:

  • 类b中和类a 中都有一个静态属性 $test
  • 类a 中 有一个方法  static_test() , 里面使用了 self, static 来调用静态成员
  • 结果显示:

    • static 调用的静态成员 $test 是 类b中定义的 即: class b
    • self 调用的静态成员 $test 是类a中定义的, 即   class a
    • 所以 self , 和 static 的区别在于继承的时候会显示出来
  • 生活中的例子: 
    •   b : 儿子 ,a :  父亲  ,  $test :  遗产
    • 正常情况下, 儿子是会继承父亲的财富的,花父亲的钱, 这叫 self
    • 儿子继承了父亲的财富,但是还是花自己上班赚来的钱,这叫 static

self , static 都是何方神圣?的更多相关文章

  1. IoT边缘,你究竟是何方神圣?

    摘要:IoT边缘扮演着纽带的作用,连接边缘和云,将边缘端的实时数据处理,云端的强大计算能力两者结合,创造无限的价值. 本文分享自华为云社区<IoT边缘如何实现海量IoT数据就地处理>,作者 ...

  2. Ubuntu apparmor何方神圣

    AppArmor 是一款与SeLinux类似的安全框架/工具,其主要作用是控制应用程序的各种权限,例如对某个目录/文件的读/写,对网络端口的打开/读/写等等. 来之Novell网站的引用: AppAr ...

  3. 2015年CSDN博客排名第一名,何方神圣?

    2015年CSDN博客排名第一名,何方神圣? 一.引子: 话说博主phphot,雄霸天下好多年. 俱往矣, 落花流水春去也. 斗转星移,江山易主. 详细可以参见下文: CSDN博客排名第一名,何许人也 ...

  4. HTML: < 和 > 是何方神圣

    懂HTML的,都知道 < 表示 <,> 表示 >,那还有什么好写呢? 知道是知道,记不记得住是另外一回事,今天用到这两家伙,又给忘记了,还要特意查了下. 缩写不好记,如果能知道 ...

  5. Qt中无处不在的d指针为何方神圣

    在研究QCoreApplication类的代码时,无意间弄明白了“d_func()”和“d指针”的来源: class Q_CORE_EXPORT QCoreApplication#ifndef QT_ ...

  6. 即将上线的Imcash是何方神圣?

    区块链的诞生,让数字资产来到这个时代,每个人的财产分布又多了一种十分重要的选择. 当下每个人最需要的就是一款优秀的数字资产管理平台,目前市面上各种平台层出不穷,在线管理.离线管理.全节点钱包.轻钱包. ...

  7. P、NP、NPC、NP-Hard问题到底是何方神圣?

    最近在做一个求解有向图中回路的问题,老师说求解图中全部回路是一个NP难问题.突然想到P.NP.NPC.NP-hard的描述一致不是很清楚,所以又学习了一下. 在解释这四个概念之前,我们需要先知道两个问 ...

  8. token 案例,只是测试,功能并不完善(只是看看token 到底是何方神圣)

    token 简单理解就是 加密 解密的一个过程 JavaWebToken(加密解密工具) public class JavaWebToken { private static Logger log = ...

  9. if __name__ == '__main__' 到底是何方神圣(转)

    想必很多初次接触python都会见到这样一个语句,if __name__ == "__main__": 那么这个语句到底是做什么用的呢?在解释之前,首先要声明的是,不管你是多么小白 ...

随机推荐

  1. HDU 1079 简单博弈

    判断下一步能否到达必胜态,如果可以当前状态就是必败态,否则当前状态记为必胜态 #include <cstdio> #include <cstring> #include < ...

  2. hdu3440 House Man 【差分约束系统】

    House Man Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  3. android 实现照相功能 照片存放在SID卡中,将照片显示在Image中

    protected static final int CAMERA_RESULT = 0; private String fileName; private Button takePhotoBn; p ...

  4. cogs——644. 课程安排问题

    644. 课程安排问题 ★   输入文件:curriculum.in   输出文件:curriculum.out   简单对比时间限制:1 s   内存限制:128 MB 问题描述 一个软件专业的学生 ...

  5. operamasks—omMessageBox的使用

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="test.aspx.cs&q ...

  6. 条款二:最好使用c++转型操作符

    一.static_cast基本上拥有与c旧式转型相同的威力与意义,以及相同的限制,不能够移除表达式的常量性,const_cast负责这个功能 二.const_cast用来改变表达式中的常量性,如果将c ...

  7. react 执行 yarn build 页面无法显示

    资源文件路径问题 如果你使用create-react-app创建项目,执行命令 yarn build 后,直接以静态方式打开build文件夹内的index.html,会看到页面显示出现问题,打开con ...

  8. java的输入输出流(一)

    java中i/o流是java中核心的一部分,曾经学过.可是理解不够深入,渐渐的也就忘了,如今在从新学习下java的io处理,写下我学习的笔记.便于记忆,和总结归纳: 本文原创,转载请注明:http:/ ...

  9. Linux bash: scp: command not found的问题记录

    ,总结 scp成功,须要两个server都安装了scp服务才行.

  10. String类的四个默认成员函数

    优化版的拷贝构造函数,先创建一个暂时实例tmp,接着把tmp._ptr和this->_ptr交换,因为tmp是一个局部变量.程序执行到该函数作用域外,就会自己主动调用析构函数.释放tmp._pt ...