2005年 1 1月
第ll卷第 4期
安 庆师 范学 院学报 (自然科 学 版)
Journal of Anqing Teachers College (Natural Science)
Nov.2005
Vo1.11 NO.4
JavaScript的面向对象特性浅析与范例
黄华林 ,宋 阳秋
(广东女子职业技术 学院 计算机 系 , 广 东 广州 511450)
摘 要 :传 统方式对 JavaScript的应用 基本 上是 基于过程模 型的 ,若 在 JavaScript中利用面 向
对象 的思想进行 代码编写 ,将会使得代码具有 良好的结构和逻辑性 ,更便 于管理和维护 。本文让 读
者看到 JavaScript如何实现面向对象编程 并提供 范例。
关键词 :面 向对象 ;属 性 ;方法 ;继承 ;多态
中图分类号 :TP391 文献标识码 :A 文章编号 :1OO7—4260(2005)04--0085--04
JavaScript是一种基于原型的解释型语言,允许在任意时刻给一个对象添加任意多的属性和方法 ,
而 Java等强类型的编译型语言 ,所有对象的属性和方法都必须先定义后使用 。为此 ,要使得 JavaScript
具有 良好的面向对象特性 ,首先必须遵守这样一个原则 :创建的对象仅具有类赋予它的属性和方法 ,对
象生成后不再给它添加任何属性和方法 。同时,JavaScript是基于对象的语言 ,而非完全面向对象的,故
JavaScript不可能实现一种面 向对象语言的所有特性 。下面,作者从类的定义 、创建对象 、继承和泛型多
态等方面去实现 JavaScript的面 向对象的部分特性。
1. Object对象 :Object对象是 JavaScript的基本对象 ,在任何其它 JavaScript对象中都包含有
Object对象,在所有其它对象中它的方法和属性都是可用的。Object对象的一个重要属性是 prototype,
prototype属性是用来返回对象类型原型的 ,所有用户 自定义的对象都有 prototype属性 。
2.定义一个简单的类:在 JavaScript中使用了与函数一样的 function关键字来声 明一个类 。定义一
个 类的 通用格 式如 下 :
function 类名 (参数列表)(
//类 的属性的定义
//类 的方法的定义
)
JavaScript定义类是通过定义函数直接实现的,每个函数可以直接看成 class。
下面的例 1声明了一个 Circle类 ,该类含有三个属性 ,圆的坐标 x和 Y以及半径 radius。同时Circle
()就是一个函数 ,并且就是 Circle类的构造函数。
例 1:定义 Circle类
function Circle(){
this.x : 0:
this.y : 0;
this.radius 一 0 :
·
收稿 日期 :2005—07—18
·+ 作 者简介 :黄 华林 (1981一),男,广东 电白人 ,广东女子职业技术学 院教师 。工学学 士 ,主要从 事计算机 网络技术等
方 面的研 究。
维普资讯 http://www.cqvip.com