当前位置:Linux教程 - Linux资讯 - PHP5学习笔记第二节PHP5的对象模型

PHP5学习笔记第二节PHP5的对象模型

  *    +——+     = 本文为Haohappy读     = 中Classes and Objects一章的笔记     = 翻译为主+个人心得     = 为避免可能发生的不必要的麻烦请勿转载,谢谢     = 欢迎批评指正,希望和所有PHP爱好者共同进步!    +——+    */    第二节——PHP5 的对象模型    PHP5有一个单重继承的,限制访问的,可以重载的对象模型。 本章稍后会详细讨论的“继承”,包含类间的父-子关系。 另外,PHP支持对属性和方法的限制性访问。 你可以声明成员为private,不允许外部类访问。 最后,PHP允许一个子类从它的父类中重载成员。    //haohappy注:PHP4中没有private,只有public.private对于更好地实现封装很有好处。    PHP5的对象模型把对象看成与任何其它数据类型不同,通过引用来传递。 PHP不要求你通过引用(reference)显性传递和返回对象。 在本章的最后将会详细阐述基于句柄的对象模型。 它是PHP5中最重要的新特性。    有了更直接的对象模型,基于句柄的体系有附加的优势: 效率提高, 占用内存少,并且具有更大的灵活性。    在PHP的前几个版本中,脚本默认复制对象。现在PHP5只移动句柄,需要更少的时间。 脚本执行效率的提升是由于避免了不必要的复制。 在对象体系带来复杂性的同时,也带来了执行效率上的收益。 同时,减少复制意味着占用更少的内存,可以留出更多内存给其它操作,这也使效率提高。    //haohappy注:基于句柄,就是说两个对象可以指向同一块内存,既减少了复制动作,又减少对内存的占用。    Zand引擎2具有更大的灵活性。 一个令人高兴的发展是允许析构——在对象销毁之前执行一个类方法。 这对于利用内存也很有好处,让PHP清楚地知道什么时候没有对象的引用,把空出的内存分配到其它用途。

(出处:http://www.sheup.com)