- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于JavaScript面向对象可维护代码编写
基于JavaScript面向对象可维护代码编写
摘要:从经典的面向对象编程基本知识入手,通过分析JavaScript面向对象的不同之处,对如何写出可维护的面向对象的JavaScript 代码进行了相关研究。
关键词:面向对象;JavaScript;类;继承;重用
中图分类号:TP319
文献标识码:A 文章编号:1672-7800(2014)003-0052-03
0 引言
能够写出可维护的面向对象的JavaScript 代码,不仅可以节约时间,还能享受重用代码的过程。对于每一位从事或即将从事JavaScript代码编写的人员来说,如何编写可重用的不过时的JavaScript 代码都将成为其追求的目标。在开始探究如何编写可维护的面向对象 JavaScript 代码之前,先要弄清楚什么是面向对象。
1 面向对象
面向对象编程主要通过代码代表现实世界中的实质对象。要创建对象,首先需要写一个“类”来定义。类几乎可以代表所有的东西:账户、员工、导航菜单、汽车、植物、广告、饮料等等。而每次要创建对象的时候,就要从类实例化一个对象。换句话说,就是创建类的实例做为对象。事实上,通常处理一个以上的同类事物就会使用到对象。另外,只需要简单的函数式程序就可以做的很好。对象实质上是数据的容器。因此在一个 employee 对象中,可能要储存员工号、姓名、入职日期、职称、工资、资历等等。对象也包括处理数据的函数(也叫做“方法”)。方法被用作媒介来确保数据的完整性,以及在储存之前对数据进行转换。例如,方法可以接收任意格式的日期,然后在储存之前将其转化成标准化格式。最后,类还可以继承其它类。继承可以在不同类中重复使用相同代码。例如,银行账户和音像店账户都可以继承一个基本的账户类,里面包括个人信息、开户日期、分部信息等。然后每个类都可以定义交易或者借款处理等数据结构和方法。
2 JavaScript 面向对象差异
上面概述了经典的面向对象编程的基本知识,说经典是因为 JavaScript 并不遵循这些规则,相反地,JavaScript 的类是写成函数的样子,而继承则是通过原型实现的。原型继承基本上意味着使用原型属性来实现对象的继承,而不是从类继承类。
2.1 对象实例化
以下是 JavaScript 中对象实例化的例子:〖HT5〗
// 定义 Employee 类
function Employee (num, fname, lname) {
this.getFullName = function () {
return fname + + lname;
}
};
// 实例化 Employee 对象
var john = new Employee (4815162342, John, Doe);
alert (The employees full name is + john.getFullName ());
在这里,有3个重点需要注意:
(1)“class”函数名的第一个字母要大写。这表明该函数的目的是被实例化而不是像一般函数一样被调用。
(2)在实例化的时候使用了 new 操作符。如果省略掉 new 而仅仅调用函数则会产生很多问题。
(3)因为 getFullName 指定给了this操作符,所以是公共可用的,但是 fname 和 lname 则不是。由 Employee 函数产生的闭包给了 getFullName 到 fname 和 lname 的入口,但同时对于其它类仍然是私有的。
2.2 原型继承
下面是 JavaScript 中原型继承的例子:
// 定义 Human 类
function Human () {
this.setName = function (fname, lname) {
this.fname = fname;
this.lname = lname;
}
this.getFullName = function () {
return this.fname + + this.lname;
}
}
// 定义 Employee 类
function Employee (num) {
this.getNum = function () {
return num;
}
};
//让 Employee 继承 Human 类
Etotype = new Human ();
// 实例化 Employee 对象
var john = new Emp
您可能关注的文档
最近下载
- 40篇短文搞定初中英语3500单词.pdf VIP
- 建筑智能化弱电系统验收表格.docx VIP
- 第十章齿轮传动教案与讲稿.pdf VIP
- 【扬州】2024年江苏扬州江都区“乡村振兴好青年”招聘人员122人笔试历年典型考题及考点剖析附带答案详解.docx VIP
- 清淤、护岸工程工组织设计.doc VIP
- 2025年中考语文备考之名著阅读《朝花夕拾》知识考点解析+测试卷.pdf VIP
- 课题申报参考:超循环经济视角下中国珍珠产业全球价值链增值及提升路径研究.docx VIP
- 17J008 挡土墙(重力式、衡重式、悬臂式)(最新).pdf VIP
- 鼎捷输配电行业客户案例集.pdf VIP
- 冲压行业客户鼎捷软件.pdf VIP
文档评论(0)