网站大量收购独家精品文档,联系QQ:2885784924

第20章面向对象编程-JavaScript中的.pptVIP

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第20章面向对象编程-JavaScript中的

第20章 面向对象编程—JavaScript中的类与继承 上一章讲述了如何使用JavaScript向HTML元素对象中添加新的属性和方法。通过综合以前章节的知识点,实现一个支持拖动、缩放、最大化和最小化的模拟窗口特效。同时还讲述了如何书写可以兼容“Fire Fox”浏览器的代码。 本章将更加深入面向对象的编程概念,讲述如何在JavaScript脚本中应用面向对象方法的编程思想。 20.1 面向对象编程简介 随着计算机应用的发展,软件正变得越来越大型化。与之相对应的,程序设计与编写的思路也在逐渐的改变着。面向对象(“Object Oriented”,简写为“OO”)的概念自上个世纪90年代开始流行,直至今天,已经成为程序员编写程序的指导思想。 20.1.1 传统编程方法的不足 最初人们使用的编程方法很简单:需要执行什么过程,就按照其逻辑编写相应代码就可以了。例如需要执行一个四则运算,那么就按照四则运算的法则,逐个对操作数进行操作。这种编程方式被称作过程型编程(PP)。 但是在代码量逐渐增大后,人们发现,常常需要重复编写同样的功能模块,为了减少不必要的工作量,函数(“function”)和子例程(“sub”)诞生了。人们将某些过程编写为一个固定的功能代码段,接受固定数量的参数或者不需要参数,执行指定的过程,可能返回计算的结果或无返回值。这样的编程方式被称作函数型编程(FP)。 在源代码长度超过10000行的大型应用程序中,即使是函数型编程也逐渐变得很难应用。各种函数之间错综复杂的关系使得项目的逻辑变得很难理解。在修改了其中某个模块后,造成的冲突范围很难控制。 20.1.2 面向对象的基本概念 面向对象的编程(“Object Oriented Programing”,简写为“OOP”)方法可以克服上面提到的这些问题,这也是为什么这种思想这么收到程序员欢迎的原因。 首先需要读者理解的是,面向对象编程是一种程序设计的思想,是一种实现软件工程的工具,而不是程序编写的目的。也可以说,面向对象是程序员的一种“世界观”,程序员把需要解决的问题抽象成“方法”、“模块”还是“对象”,是“PP”、“FP”和“OOP”的根本区别。 20.1.3 面向对象编程的特征 面向对象编程具有一些“PP”和“FP”所没有的特征: (1)对象唯一性。每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。 (2)分类性。分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。 (3)继承性。继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。 (4)多态性(多形性)。多态性指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。 20.1.4 面向对象编程的要素 面向对象编程的要素有: (1)抽象。抽象是指强调实体的本质、内在的属性。在系统开发中,抽象指的是在决定如何实现对象之前的对象的意义和行为。使用抽象可以尽可能避免过早考虑一些细节。 (2)封装性(信息隐藏)。封装性是保证软件部件具有优良的模块性的基础。 (3)共享性。面向对象技术在不同级别上促进了共享: (4).强调对象结构而不是程序结构 20.2 JavaScript中的类 JavaScript是一种基于对象的语言,其与“面向对象”有着少许的不同。在真正的面向对象的语言中,例如“C++”或“Java”,有着用于定义“类”的关键字“Class”,也有着“Private”、“Public”等关键字定义属性和方法的私有与公有。在JavaScript中,“类”的实现是直接通过函数实现的。 20.2.1 JavaScript中类的构造 前面说过,类是对具体对象的抽象。在JavaScript中,使用“function”来构造类。例如: function User(){ //用户类 ; //用户的姓名 this.sex; //用户的性别 } 函数“User”就定义了一个描述用户对象的类。然后可以用: hutia = new User(); 20.2.2 JavaScript类的属性和方法 在JavaScript的类构造函数中,通过“this”关键字向类中添加属性和方法。例如前面给出的“User”类中,使用“var ;”来声明一个属性。类中方法的添加与其类似,例如: function User(){ //用户类 ; //用户的姓名 this.login = function(password){ //用户的登录方法 //类的方法 alert(“我在执行登录操作,密码是:”+passwor

文档评论(0)

junjun37473 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档