php中self的真正含义是什么?为什么可以调用父类 的成员和方法? - PHP进阶讨论

发布网友 发布时间:2022-04-06 03:42

我来回答

3个回答

热心网友 时间:2022-04-06 05:11

self对应static$this是非static这两者总和相当于Java里面的thisparent相当于Java里面的super我问你
你要在子类中执行父类的构造器怎么执行?TankMe
发表于
2009-9-9
16:19[i]self是这个类。this是这个类现在创建的对象。而不是单纯的只指静态非静态。self从理论上在php里是可以调用任何东西的。。。php6可以支持直接调用静态和非静态。因为他是和::符配合的。。。只要是这个类里面的任何成员和方法都能调用。。。你把php所有错误提示关闭。就可以执行。。。我记得我以前测试过一下的。。。php5貌似会抛出一个warring。。我忘记当时测试的结果了。但是从文档上看到得这理论是可行的

热心网友 时间:2022-04-06 06:29

self调用的不是父类的的方法,而是子类本身的方法,只不过该方法可能是从父类继承过来的而已。同样道理,$this调用的是子类实例化后对象的方法,该方法也是子类本身所定义的,只不过该方法也可以从父类继承过来而已。
...starflash
发表于
2009-9-10
13:33[i]$this调用的是子类实例化后对象的方法,这句话明显是错误的!

热心网友 时间:2022-04-06 08:04

看到LS有说到覆盖,
就多说两句.
我们知道子类的方法会覆盖父类的同名方法.
但为了调用父类的那个同名方法.
就必需要指定一下哪个类的方法.
而这时候,
就要通过parent来指定这个方法,
是父类的方法,
而不是当前
...programmerhuang
发表于
2009-9-10
21:04[i]不用实例化调用是为了兼容PHP4..在PHP5中不提倡了..

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com