主页 > 知识库 > PHP创建对象的六种方式实例总结

PHP创建对象的六种方式实例总结

热门标签:Linux服务器 科大讯飞语音识别系统 团购网站 服务器配置 银行业务 Mysql连接数设置 阿里云 电子围栏

本文实例讲述了PHP创建对象的六种方式。分享给大家供大家参考,具体如下:

?php
/**
 * PHP创建对象的六种方式
 */
class Person{
  private $name = 'bruce';
  public function getName(){
    return $this->name;
  }
  public static function getObjBySelf(){
    return new self();
  }
  //动态延迟绑定,能识别调用者
  public static function getObjcByStatic(){
    return new static();
  }
}
//Person子类 Teacher
class Teacher extends Person{
  public static function getObjByParent(){
    return new parent();
  }
}
//1、new 类名();创建对象
$obj1 = new Person();//等价于写法 $obj1 = new Person;
echo '类名:'.get_class($obj1).'br>';
echo $obj1->getName().'hr>';
//2、将类名字符串赋值给一个变量,通过变量创建
$clsName = 'Person';
$obj2 = new $clsName();
echo '类名:'.get_class($obj2).'br>';
echo $obj2->getName().'hr>';
//3、通过对象实例创建对象
$obj3 = new $obj2();
echo '类名:'.get_class($obj3).'br>';
echo $obj3->getName().'hr>';
//4、通过 new self()
//$obj4 = (new $obj3())->getObjBySelf();
$obj4 = Person::getObjBySelf();
echo '类名:'.get_class($obj4).'br>';
echo $obj4->getName().'hr>';
//5、通过 new parent()
$obj5= Teacher::getObjByParent();
echo '类名:'.get_class($obj5).'br>';
echo $obj5->getName().'hr>';
//6、通过 new static();
$obj6 = Person::getObjcByStatic();
echo '类名:'.get_class($obj6).'br>';//类名:Person
echo $obj6->getName().'hr>'; //bruce
//当用子类去调用时候,发现static自动识别当前调用者(静态延迟绑定),返回当前调用者对象
$obj7 = Teacher::getObjcByStatic();
echo '类名:'.get_class($obj7).'br>';//类名:Teacher
echo $obj7->getName().'hr>';//bruce
$obj8 = Person::getObjBySelf();
echo '类名:'.get_class($obj8).'br>';//类名:Person
echo $obj8->getName().'hr>';
//new self()在子类中调用依旧返回原来父类的绑定
$obj9 = Teacher::getObjBySelf();
echo '类名:'.get_class($obj9).'br>';//类名:Person
echo $obj9->getName().'hr>';

运行结果:

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

您可能感兴趣的文章:
  • PHP使用new StdClass()创建空对象的方法分析
  • php使用变量动态创建类的对象用法示例
  • PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
  • 一个ASP创建动态对象的工厂类(类似PHP的stdClass)
  • php单例模式实现(对象只被创建一次)
  • PHP面向对象的进阶学习(抽像类、接口、final、类常量)
  • php学习笔记 类的声明与对象实例化
  • php面向对象全攻略 (二) 实例化对象 使用对象成员
  • PHP对象实例化单例方法
  • PHP面向对象三大特点学习(充分理解抽象、封装、继承、多态)
  • php初始化对象和析构函数的简单实例

标签:大理 衢州 枣庄 蚌埠 江苏 广元 萍乡 衡水

巨人网络通讯声明:本文标题《PHP创建对象的六种方式实例总结》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266