摘要: 在"初识Javascript"章节中,提到通过作用域和闭包来隐藏内部细节,并给外部提供访问接口,就初次接触到了信息隐藏的概念了。同时,我们知道在面向对象的高级语言中,创建包含私有成员的对象是最基本的特性之一,提供属性和方法对私有成员进行访问来隐藏内部的细节。虽然JS也是面向对象的,但没有内部机制可以直接表明一个成员是公有还是私有的。还是那句话,依靠JS的语言灵活性,我们可以创建公共、私有和特权成员,信息隐藏是我们要实现的目标,而封装是我们实现这个目标的方法。我们还是从一个示例来说明:创建一个类来存储图书数据,并实现可以在网页中显示这些数据。1. 最简单的是完全暴露对象。使用 阅读全文
posted @ 2012-01-20 15:43 Miracle He 阅读(2534) 评论(2) 推荐(0) 编辑
摘要: 接口是面向对象Javascript工具箱中最有用的特性之一。我们都知道GOF在设计模式中说到:面向接口编程,而非面向实现编程。就足以说明接口在面向对象的领域中有多重要。但JS却不像其他面向对象的高级语言(C#,Java,C++等)拥有内建的接口机制,以确定一组对象和另一组对象包含相似的的特性。所幸的是JS拥有强大的灵活性(我在上文已谈过),这使得模仿接口特性又变得非常简单。那么到底是接口呢? 接口,为一些具有相似行为的类之间(可能为同一种类型,也可能为不同类型)提供统一的方法定义,使这些类之间能够很好的实现通信。那使用接口到底有哪些好处呢?简单地说,可提高系统相似模块的重用性,使得不同类的通信 阅读全文
posted @ 2012-01-20 12:17 Miracle He 阅读(2397) 评论(4) 推荐(1) 编辑