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实现 master-worker 守护多进程模式的实例代码)
- php连接mysql需要数据源吗(php连接mysql数据库最简单的实现方法)
- php获取数据方法(php定期拉取数据对比方法实例)
- php 与asp对比(asp.net和php的区别点总结)
- php7处理方案(PHP7 安装event扩展的实现方法)
- php怎么实现邮件发送(使用php的mail函数实现发送邮件功能)
- phpstudy不解析php代码(phpstudy伪静态设置的问题)
- linux下如何启动phpstudy面板(详解phpstudy linux web面板小皮面板V0.2版本正式发布)
- phpstudy服务器怎么设置(phpstudy本地环境开启.htaccess伪静态方法)
- php关注公众号发送消息(php实现QQ小程序发送模板消息功能)
- phpstudy使用教程学习(phpStudy 2016 使用教程详解支持PHP7)
- php设置上传文件代码(PHP大文件切割上传并带进度条功能示例)
- php上传图片视频代码(详解PHP素材图片上传、下载功能)
- python与php比较(浅谈php调用python文件)
- php 大文件切片(PHP大文件切割上传功能实例分析)
- 书法欣赏 宋.志南诗《绝句》(宋.志南诗绝句)
- 每周一首古诗 《绝句》(每周一首古诗绝句)
- 蓝色代表什么(蓝色代表什么性格的人)
- 红色代表什么(红色代表什么情感和含义)
- 南宋志南和尚绝句 杨柳风似庙中来(南宋志南和尚绝句)
- 今天要穿什么颜色(今天要穿什么颜色的衣服最吉利)
热门推荐
- ExtJs中XTemplate使用
- mysql快速创建索引(MySQL创建高性能索引的全步骤)
- SQL SERVER与MySQL数据类型的对应关系
- JS动态操作select的option
- mysql怎么删除用户操作(解决mysql删除用户 bug的问题)
- mysqlshell日常运维脚本(监控MySQL主从状态的shell脚本)
- 怎么查看nginx支持rewrite(nginx里的rewrite跳转的实现)
- opencv图像识别基础知识(opencv与numpy的图像基本操作)
- win7安装安卓模拟器(腾讯云服务器怎么安装安卓模拟器 可以安装安卓模拟器吗)
- laravel队列使用场景(Laravel使用RabbitMQ的方法示例)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9