预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

JavaScript面向对象简介 JavaScript的核心是支持面向对象的,同时它也提供了强大灵活的OOP语言能力。本文从对面向对象编程的介绍开始,带您探索JavaScript的对象模型,最后描述JavaScript当中面向对象编程的一些概念。 复习JavaScript 如果您对JavaScript的概念(如变量、类型、方法和作用域等)缺乏自信,您可以在HYPERLINK"https://developer.mozilla.org/zh-CN/JavaScript/A_re-introduction_to_JavaScript"\o"en/JavaScript/A_re-introduction_to_JavaScript"重新介绍JavaScript这篇文章里学习这些概念。您也可以查阅这篇HYPERLINK"https://developer.mozilla.org/zh-CN/JavaScript/Guide"\o"en/JavaScript/Guide"JavaScript1.5核心指南。 面向对象编程 面向对象编程是用抽象方式创建基于现实世界模型的一种编程模式。它使用先前建立的范例,包括模块化,多态和封装几种技术。今天,许多流行的编程语言(如Java,JavaScript,C#,C++,Python,PHP,Ruby和Objective-C)都支持面向对象编程(OOP)。 面向对象编程可以看作是使用一系列对象相互协作的软件设计,相对于传统观念,一个程序只是一些函数的集合,或简单的计算机指令列表。在OOP中,每个对象能够接收邮件,处理数据和发送消息给其他对象。每个对象都可以被看作是一个独立的小机器有不同的作用和责任。 面向对象程序设计的目的是促进更好的编程灵活性和可维护性,并在大型软件工程中广为流行。凭借其十分注重的模块化,面向对象的代码开发更简单,往后维护更容易理解,使其自身能更直接的分析,编码,理解复杂的情况和过程,比非模块化编程方法省事。HYPERLINK"https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript"\l"cite-1"1 术语 Namespace命名空间 允许开发人员在一个专用的名称下捆绑所有功能代码的容器。 Class类 定义对象的特征。 Object对象 类的一个实例。 Property属性 对象的特征,比如颜色。 Method方法 对象的能力,比如行走。 Constructor构造函数 实例化时调用的函数。 Inheritance继承 一个类可以继承另一个类的特征。 Encapsulation封装 类定义了对象的特征,方法只定义了方法如何执行。 Abstraction抽象 结合复杂的继承,方法,属性,一个对象能够模拟现实的模型。 Polymorphism多态 多意为‘许多’,态意为‘形态’。不同类可以定义相同的方法或属性。 更多关于面向对象编程的描述,请参照维基百科的HYPERLINK"http://zh.wikipedia.org/wiki/%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E2%80%8B"面向对象编程。 原型编程 基于原型的编程不是面向对象编程中体现的风格,且行为重用(在基于类的语言中也称为继承)是通过装饰它作为原型的现有对象的过程实现的。这种模式也被称为弱类化,原型化,或基于实例的编程。 原始的(也是最典型的)基于原型语言的例子是由大卫·安格尔和兰德尔·史密斯开发的。然而,弱类化的编程风格近来变得越来越流行,并已被诸如JavaScript,Cecil,NewtonScript,IO,MOO,REBOL,Kevo,Squeak(使用框架操纵Morphic组件),和其他几种编程语言采用。HYPERLINK"https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript"\l"cite-1"1 JavaScript面向对象编程 命名空间 命名空间是一个容器,它允许开发人员在一个独特的,特定于应用程序的名称下捆绑所有的功能。在JavaScript中,命名空间只是另一个包含方法,属性,对象的对象。 需要认识到非常重要的一点,与其他面向对象编程语言中的普通对象和命名空间相比,它们在语言层面上没有区别。 创造的JavaScript命名空间背后的想法很简单:一个全局对象被创建,所有的变量,方