您当前的位置:中客资源站网络学院PHP 编程基础文章 → 文章内容 退出登录 用户管理
本类热门文章
相关下载
高级PHP V5 对象研究
作者:中客资源  来源:中客资源  发布时间:2007-2-7 2:33:34

减小字体 增大字体

做可以得到什么呢?现在,Dictionary 和 OurNews 对象共享类型。所有此类对象还是 Exportable。可以用类型提示和 instanceof 测试来检查它们。清单 10 展示了修改后的 Exporter::add() 方法。

  清单 10. 修改后的 Exporter::add() 方法


class Exporter {
 private $exportable = array();
 function add( Exportable $obj ) {
  $this->exportable[] = $obj;
 }
//...


  接口是一个难以掌握的概念。毕竟,它们实际上并不提供任何有用代码。窍门是记住面向对象编程中类型的重要性。接口与合同类似。它借给类一个将类放置到位的名称,反过来,该类保证特定方法将可用。此外,使用 Exportable 对象的类既不知道也不关心调用 export() 时发生的行为。它只知道它可以安全地调用该方法。

  图 3 显示了 Exportable 接口与其实现类之间的关系。注意到 Exporter 与 Exportable 接口而非具体实现有使用关系。接口关系用虚线和开箭头表示。

结束语
  本文支持使用 PHP V5 中类型的价值。对象类型允许将系统中的组件相互分离,从而得到可重用、可扩展和可伸缩的代码。抽象类和接口帮助您基于类类型设计系统。 客户机类可被编码为只需要抽象类型,而把实现策略和结果留给在运行时传递给它们的具体类实例。也就是说,Dictionary 既不局限于序列化数据,也不局限于 XML。如果必须支持一种新格式,Dictionary 将不需要任何进一步的开发。它与保存数据以及从文件系统加载数据和将数据加载到文件系统的机制完全无关。Dictionary 只知道它必须具有一个 DictionaryIO 对象,从而保证 export() 和 import() 的功能。
  如果类保证了接口,您必须能够保证类。虽然 instanceof 功能提供了一种检查类型的好方法,但您还可以通过在参数列表中使用类型提示,来将对象类型检查滚动到方法签名自身中

上一页  [1] [2] [3] 

[] [返回上一页] [打 印]
文章评论 (评论内容只代表网友观点,与本站立场无关!)

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码