游戏行家 Publish time 2007-12-3 17:54:50

第二节--PHP5 的对象模型 -- Classes and Objects in PHP5 [2]

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