PHP面向对象中new self()与 new static()的区别浅析

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP面向对象中new self()与 new static()的区别浅析脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

前言

本文主要跟大家介绍了关于PHP面向对象中new self()与 new static()的区别,这两个方法new出来的对象有什么区别呢,说白了就是new出来的到底是同一个类实例还是不同的类实例呢?下面话不多说了,来一起看看详细的介绍吧。

区别如下:

首先阐明结论,在PHP中 self指向定义了当前被调用方法的类, static指向调用当前静态方法的类。

接下来通过一个例子来证明上面的结果

<PRe class="brush:PHP;"> class A { public static $_a = 'Class A';

public static function echoproperty()
{
echo self::$_a . PHP_EOL;
}
}

class B extends A
{
public static $_a = 'Class B';
}

$obj = new B();
B::echoproperty();//输出 Class A

脚本宝典总结

以上是脚本宝典为你收集整理的PHP面向对象中new self()与 new static()的区别浅析全部内容,希望文章能够帮你解决PHP面向对象中new self()与 new static()的区别浅析所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。