当前位置导航:炫浪网>>网络学院>>网页制作>>PHP教程

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


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