PHP的面向对象编程
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-05-24
责一个类型的对象和处理它的类。 可以通过这个技术实现国际化,根据用户所选的语言字段应用相应的类就可以了,等等。 拷贝和克隆 当你创建一个$obj的对象时,你可以通过$obj2=$obj来拷贝对象,新的对象是$obj的一个拷贝(不是一个引用),所以它具有$obj在当时的状态。有时候,你不想这样,你只是想生成一个象obj类一样的一个新的对象,可以通过使用new语句来调用类的构造函数。在PHP中也可以通过序列化,和一个基类来实现,但所有的其它类都要从基类派生出来。 进入危险区域 当你序列化一个对象,你会得到某种格式的字符串,如果你感兴趣,你可以调究它,其中,字符串中有类的名字(太好了!),你可以把它取出来,象: <?php $herring=serialize($obj); $vec=explode('':'',$herring); $nam=str_replace("\"",'''',$vec[2]); 所以假设你创建了一个"Universe"的类,并且强制所有的类都必须从universe扩展,你可以在universe 中定义一个clone的方法,如下: <?php class Universe { function clone() { $herring=serialize($this); $vec=explode('':'',$herring); $nam=str_replace("\"",'''',$vec[2]); $ret=new $nam; return $ret; } } //然后 $obj=new Something(); //从Universe扩展 $other=$obj->clone(); 你所得到的是一个新的Something类的对象,它同使用new方法,调用构造函数创建出的对象一样。我不知道这个对你是否有用,但是Universe类可以知道派生类的名字是一个好的经验。想象是唯一的限制。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 自定义PHP分页函数下一篇: php面向对象详解
关于PHP的面向对象编程的所有评论