• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP创建对象的六种方式实例总结

    本文实例讲述了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实现的抓取小说网站内容功能示例
    下一篇:php生成静态页面并实现预览功能
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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