php类生成对象吗,PHP类基础(2)之生成对象的6种方法

//生成对象的6种方法

class 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 Demo1();

echo $obj->name;

echo "


";

//2、将类名,以字符串的方式放在一个变量中

$className = 'Demo1';

$obj1 = new $className();

echo $obj1->name;

echo "


";

//3、 用对象来创建对象,并且他创建的是一个新对象

$obj2 = new $obj();//注意:与$obj2 = $obj不同

echo $obj2->name;

echo "


";

//4、用new self()

$obj3 = $obj->getObj();

echo $obj3->name;

echo "


";

//用new parent() 来创建一个对象(基于父类)

$obj4 = (new Demo2)->getNewObj();

echo get_class($obj4);

echo $obj4->name;

echo "


";

//基于当前调用的类来创建:new static

$obj5 = (new Demo2)->getStatic();

$obj6 = (new Demo1)->getObj();

echo get_class($obj5);//基于 new static

//new static 创建的对象,直接与调用者绑定,静态延迟绑定

echo get_class($obj6);//基于 new self

echo $obj5->name;

echo $obj6->name;

?>

标签:obj,name,对象,echo,Demo1,static,new,PHP,生成

来源: https://blog.csdn.net/weixin_42380348/article/details/100136637

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值