永发信息网

php中静态方法的问题

答案:3  悬赏:70  手机版
解决时间 2021-03-26 09:05
  • 提问者网友:沦陷
  • 2021-03-25 19:01
php中静态方法的问题
最佳答案
  • 五星知识达人网友:神鬼未生
  • 2021-03-25 19:45
楼上说的差不多

但从理解的角度
self是类内部默认的类名
new self()就是new classname()
这样应该比较好理解

对于静态方法的理解一样,我们在调用静态类的时候用的是classname::function()
那self就是类内部自己的调用classname::function()
代替了一个类名的变量

不在类内部,它也就不可能知道自己是谁
全部回答
  • 1楼网友:枭雄戏美人
  • 2021-03-25 22:22
实例化自己呗
将构造函数私有化,用getinstance做对外接口 这段代码单态时候经常用
  • 2楼网友:神也偏爱
  • 2021-03-25 21:07
self是一个特殊类,它指向当前类,但只有在类定义内部才有效,它不止要求在类的定义内部,还要求在类的上下文环境,比如 new
self()的时候,这时self就指向当前类。
class a{
public function __construct(){
echo 'yes!!!';
}
public static function getInstance(){
new self();
}
}

a:: getInstance();
返回结果:
yes!!!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯