php面向对象如何开发(PHP创建对象的六种方式实例总结)
类别:编程学习 浏览量:2054
时间:2022-01-27 01:59:01 php面向对象如何开发
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程序设计有所帮助。
原文链接:https://blog.csdn.net/Alen_xiaoxin/article/details/84336801
您可能感兴趣
- php7处理方案(PHP7 安装event扩展的实现方法)
- php执行语句(PHP goto语句用法实例)
- php里的fpm是什么(phpfpm的作用和用法)
- php图片合成处理(PHP使用 Imagick 扩展实现图片合成,圆角处理功能示例)
- php递归实现(PHP递归统计系统中代码行数)
- 如何在php内加密解密(PHP中散列密码的安全性分析)
- php使用yield处理并发(Yii框架中使用PHPExcel的方法分析)
- php一直提示错误(关于php开启错误提示的总结)
- phpstudy创建网站无权限(phpStudy配置多站点多域名和多端口的方法)
- php使用面向对象如何写好代码(PHP面向对象程序设计模拟一般面向对象语言中的方法重载overload示例)
- php提供哪些函数来避免sql的注入(PHP与SQL语句写一句话木马总结)
- php语法基础知识(PHP中16个高危函数整理)
- 如何用thinkphp框架来写一个网站(php tpl模板引擎定义与使用示例)
- thinkphp静态怎么设置(浅谈thinkphp的nginx配置,以及重写隐藏index.php入口文件方法)
- redis在php中的使用(PHP+Redis开发的书签案例实战详解)
- php系统化框架教程(PHP+swoole+linux实现系统监控和性能优化操作示例)
- 读卖乐园的彩灯(读卖乐园的彩灯)
- 新疆80后在淘宝卖干果 以前是 不务正业 如今帮乡亲致富(新疆80后在淘宝卖干果)
- 弄清楚了销 售 买 卖这四个字,母婴生意做起来就没那么难了(弄清楚了销售买)
- 数读 买首饰金是 投资黄金 吗 买金容易卖金难(数读买首饰金是)
- 销 售 买 卖 你真的了解这四个字了吗(销售买)
- 谢娜是得罪快乐大本营造型师了吗 全场被黑化(谢娜是得罪快乐大本营造型师了吗)
热门推荐
- html5表格设计(Html5饼图绘制实现统计图的方法)
- mysql连接查询原理(MySQL连接查询你真的学会了吗?)
- mysql的innodb设置(修改MySQL数据库引擎为InnoDB的操作)
- yield代码还会执行吗(Yii2 queue的队列使用详解)
- python关闭程序强制退出线程(python多线程调用exit无法退出的解决方法)
- SQL Server中查看未释放的游标
- 使用NuGet管理项目的DLL
- threejs 三维可视化(three.js模拟实现太阳系行星体系功能)
- web服务器iis安全访问机制(IIS与APACHE实现HTTP重定向到HTTPS)
- centosdocker安装教程(centos下docker安装及springboot远程发布docker的方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9