发布网友 发布时间:2022-05-07 19:20
共2个回答
懂视网 时间:2022-04-18 05:10
方法有如下几种:
1、用new 类名()创建一个对象
2、将类名以字符串的方式放在一个变量中
(学习视频推荐:java课程)
3、用对象来创建对象,并且该对象是一个新对象
4、用new self(); 如果有继承类 new self() 在哪个类中返回的就是哪个类的实例
5、用new parent();
6、用new static() 返回的是调用者的类的对象
代码示例:
<?php class Demo { public $name = "peter"; public function getName(){ return $this->$name; } public function getObj(){ return new self(); } public function getStaticObj(){ return new static(); } } class Demo1 extends Demo { public function getParent(){ return new parent(); } } echo '<pre/>'; //1.用new 类名()创建一个对象 $obj = new Demo(); //2.将类名以字符串的方式放在一个变量中 $className = 'demo'; $obj1 = new $className(); //3.用对象来创建对象,并且该对象是一个新对象 $obj2 = new $obj(); // $obj2 = $obj 不同的 //4.用new self(); 如果有继承类 new self() 在哪个类中返回的就是哪个类的实例 $obj3 = $obj->getObj(); //5.用new parent(); $obj4 = (new Demo1)->getParent(); //6.用new static() 返回的是调用者的类的对象 $obj5 = $obj->getStaticObj();
热心网友 时间:2022-04-18 02:18
没区别。一般来说,为了规范代码格式,对于没有构造函数或构造函数不必传递参数的类,就直接使用$instance = new fuxkit;反之就使用$instance = new fuxkit('ok');