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

王朝php·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

*

+――+

| = 本文为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清楚地知道什么时候没有对象的引用,把空出的内存分配到其它用途。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航