new self
和 new static
的区别:两者都是实例化自身,区别在于继承。如果没有继承,则两者返回的实例都是属于一个类;如果有继承,子类调用该方法,new self
仍然返回原类的实例,而 new static
返回实际子类的实例。这就是延迟静态绑定,static 的值,使用的是最后实际调用那个方法的类。
PHP框架中new self 和 new static 的区别(未完待续)
最新推荐文章于 2024-07-08 18:11:27 发布
本文深入探讨了在继承场景下newself和newstatic在实例化对象时的不同之处。newself总是返回父类实例,而newstatic则根据实际调用的子类返回实例,体现了延迟静态绑定的概念。这一特性对于理解和使用继承及静态方法有重要影响。
摘要由CSDN通过智能技术生成