创建对象的6种方法

用6中方法来创建对象

calss Demo1
{
    //花括号推荐写在下面
    public name='PHP中文网';
    public function getName()
    {
        return $this->name;
    }
    public function getObj()
    {
        return new self();
    }
    public function getStatic()
    {
        return new static();
    }
}
class Demo2 extends Demo1
{
    public function getNewobj()
    {
        return new parent();
    }
}
  1. new 类名来创建一个对象
$obj=new Demol();
//当没有参数时,后面的括号也是可以省略的
  1. 将类名放在一个字符串变量中
$className='Demo1';
$obj1=new $className();
  1. 用对象来创建对象,并且它创建的是一个新对象
$obj2=new $obj();
//通过这种方法创建的和$obj2=$obj是不同的
  1. 通过self()方法
$obj3=$obj->getObj();
  1. 通过parent()方法
$obj4=(new Demo2)->getNewobj();
  1. 通过static()方法
$obj5=(new Demo1)->getStatic();
//这里看起来和self()是一样的,但还是有区别的,要通过它们创建的子类才能看出来

猜你喜欢

转载自www.cnblogs.com/lanxue1997/p/10483088.html