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
您可能感兴趣
- php根据名称规则判断文件是否存在(PHP中上传文件打印错误错误类型分析)
- php教程字符串类型进阶技术教程(PHP中有关长整数的一些操作教程)
- phpstudy的默认网站根目录是什么(phpstudy v8.0创建本地站点域名教程图文)
- phpstudy创建本地服务器(phpstudy linux小皮面板防火墙的开启与关闭)
- dedecms标签调用原理(DEDECMS安全设置 执行php脚本限制设置方法apache+nginx)
- php怎么修改单独一行数据(PHP实现批量修改文件名的方法示例)
- php运行环境的搭建方法(php集成开发环境详解)
- phplaravel快速开发平台(laravel框架实现去掉URL中index.php的方法)
- php中isset函数有什么功能(PHP中的empty、isset、isnull的区别与使用实例)
- php异常和错误区别(PHP批斗大会之缺失的异常详解)
- php如何创建二维数组(PHP二维索引数组的遍历实例分析2种方式)
- php如何对文本框输入小数的小数点(PHP保留两位小数的几种方法)
- php依赖注入和控制反转的区别(php反射学习之依赖注入示例)
- php分页函数有什么用(php实现分页功能的详细实例方法)
- php生成md5(php进行md5加密简单实例方法)
- phpstudy使用教程最新版(phpstudy安装使用图文教程)
- 少儿口才表达影响未来一生,50首经典绕口令和孩子玩出聪明大脑(少儿口才表达影响未来一生)
- 玩网游居然让人更友善 很难以让人置信(玩网游居然让人更友善)
- 学好汉语拼音,从娃娃绕口令抓起,平时还是要多练 收藏好(从娃娃绕口令抓起)
- 仙女们的私藏鲜法大PK 鲜香切块牛肉(仙女们的私藏鲜法大PK)
- 天热没胃口 这道菜开胃又下饭,2个小技巧新手一学就会(这道菜开胃又下饭)
- 指天椒紫苏爆炒牛肉(指天椒紫苏爆炒牛肉)
热门推荐
- django框架基础之路由详解(Django中如何防范CSRF跨站点请求伪造攻击的实现)
- webview上传功能教程(关于webview适配H5上传照片或者视频文件的方法)
- ubuntu安装php(在Ubuntu 18.04上安装PHP 7.3 7.2和7.0的方法)
- python元组操作方法(Python元组常见操作示例)
- volume怎么添加docker(docker volume删除卷的操作)
- 宝塔面板如何搭建内网网站(宝塔面板搭建云服务器优化教程)
- SQL replace的使用方法
- 网站让浏览器崩溃的原因
- dockerfile镜像案例(Dockerfile构建自定义镜像的实现)
- php微信支付怎么做(ThinkPHP框架整合微信支付之Native 扫码支付模式一图文详解)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9