php中return new self() 和return ne

2019-06-14  本文已影响0人  小气的王二狗

如果在使用的过程中没有继承的话,两者是没有区别的,都是返回当前方法所在类的实例

//demo
class baba{
  function test1(){
    return new self();//返回类baba的实例
  }
  function test1(){
    return new static();//返回类baba的实例
  }
}

有继承的情况下,self()返回父类的实例,static()返回继承父类的子类的实例。

//demo
class baba extends yeye{
  function test1(){
    return new self();//返回类yeye的实例
  }
  function test1(){
    return new static();//返回类baba的实例
  }
}
上一篇 下一篇

猜你喜欢

热点阅读