计算机教程_对象编程.ppt_第1页
计算机教程_对象编程.ppt_第2页
计算机教程_对象编程.ppt_第3页
计算机教程_对象编程.ppt_第4页
计算机教程_对象编程.ppt_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2020/6/13,中山大学计算机科学系,第5章,对象编程,2020/6/13,中山大学计算机科学系,第五章对象编程,5.1概述5.2使用内置对象5.3使用ACTIVEX对象5.4使用脚本宿主对象,2020/6/13,中山大学计算机科学系,5.1概述,编写JavaScript程序时可以方便地使用大量功能强大的预定义对象。5.1.1初探对象编程例5.1输入一个数x,然后求出它的平方根。varx,square_root;WScript.Echo(x=);x=WScript.StdIn.ReadLine();/输入xx=parseFloat(x);/转换为浮点数square_root=Math.sqrt(x);/求x的平方根WScript.Echo(x+的平方根=+square_root);对象通常包含很多方法,2020/6/13,中山大学计算机科学系,5.1.2对象及其属性和方法,对象来源客观实体。如,一个人、一盏灯抽象对象。如,一个用户对象,包含用户名、用户密码等特性,也包含注册、注销等动作。对象包含两个要素:属性:描述对象特性的数据。方法:操作对象的动作。在JavaScript中,对象就是属性和方法的集合。方法是作为对象成员的函数,表明对象具有的行为属性是作为对象成员的变量,表明对象的状态。,2020/6/13,中山大学计算机科学系,5.1.2对象及其属性和方法,调用方法Math.sqrt(x)WScript.Interactive=true例5.2查看Windows脚本宿主的版本号。varws_version;ws_version=WScript.Version;WScript.Interactive=true;WScript.Echo(ws_version);,2020/6/13,中山大学计算机科学系,5.1.3JavaScript对象的分类,在JavaScript中,可以使用以下两大类对象:预定义对象:是指JavaScript语言及其运行环境提供的对象。根据提供者的不同,这类对象又可分为内置对象、ActiveX对象和脚本宿主对象等。自定义对象:是指程序员根据需要而定义的新对象。,2020/6/13,中山大学计算机科学系,5.1.4通过帮助系统了解预定义对象,使用MicrosoftWindows脚本技术帮助。使用“Microsoft脚本编辑器”的帮助菜单命令。使用特定软件的帮助。例如,要了解MicrosoftWord对象模型,则可查看Word帮助中的“编程信息”主题。,2020/6/13,中山大学计算机科学系,5.2使用内置对象,JavaScript包括Math、Number、Date、String、Array等内置对象。5.2.1创建和删除对象使用new运算符创建对象:变量名=new对象名();删除对象(自动删除)delete对象变量名例5.3显示当天日期。vartoday;today=newDate();WScript.Echo(今天是+today.getFullYear()+年+(today.getMonth()+1)+月+today.getDate()+日);,2020/6/13,中山大学计算机科学系,5.2.2Math对象,Math对象的属性是数学中常用的常量,包括E、LN2、LN10、LOG2E、LOG10E、PI、SQRT1_2、SQRT2等Math对象的方法则是一些十分有用的数学函数,包括sin()、random()、log()等。例5.4求PI的5次方,并四舍五入取整。WScript.Echo(Math.round(Math.pow(Math.PI,5);,2020/6/13,中山大学计算机科学系,5.2.3Number对象,Number对象用于存放一些极端数值的属性,如MAX_VALUE、MIN_VALUE、NaN、NEGATIVE_INFINITY、POSITIVE_INFINITY例5.5显示JavaScript可以处理的数值区间。WScript.Echo(JavaScript的有效数范围:+Number.MIN_VALUE+,+Number.MAX_VALUE+);,2020/6/13,中山大学计算机科学系,5.2.4Date对象,Date对象主要提供获取和设置日期和时间的方法,如getYear()、setYear(x)、getMonth()、setMonth(x)、getDate()、setDate(x)等创建Date对象:vartoday=newDate();vartheDate=newDate(2006,9,1);vartheTime=newDate(2006,9,1,10,20,30,50);例5.6计算求1+2+3+100000之和所需要的运行时间(毫秒数)。vart1,t2,htime,i,sum=0,prompt;t1=newDate();/记录循环前的时间for(i=1;i=0;i-)/反转字符串result_s+=upper_s.charAt(i);WScript.Echo(result_s);,2020/6/13,中山大学计算机科学系,5.2.6Array对象,什么是数组如果一个变量是数组,那么这个变量同时能够存储多个值数组变量的多值性相当于一个数组变量可以包含多个子变量,而每个子变量的作用与普通变量的作用一样,既可以被赋值,也可以从中取出值。为了区别,把这样的子变量称为数组元素变量(简称数组元素)。另外,把数组中数组元素的个数称为数组大小(或称数组长度)。,2020/6/13,中山大学计算机科学系,5.2.6Array对象,创建和访问数组使用内置对象Array创建数组:vararrayname=newArray(arraysize);不同数组元素通过下标加以区别,即一个数组元素由数组名、一对方括号和这对括号中的下标组合起来表示。包含数组元素arrayname0、arrayname1、arrayname2、arraynamearraysize-1。使用数组元素类似于使用普通变量,如:varclassmates=newArray(4);classmates0=”张月”;/对第1个数组元素进行赋值classmates1=”何芳”;/对第2个数组元素进行赋值classmates3=classmates0;,2020/6/13,中山大学计算机科学系,5.2.6Array对象,例5.8使用一个Array对象变量classmates存贮4个同学的名字。例5.9显示当前日期和时间,并显示是星期几。创建空数组:classmates=newArray();classmates10=黄海;/自动扩展,2020/6/13,中山大学计算机科学系,5.2.6Array对象,使用forin语句forin语句可以依次对数组中的每个数组元素执行一条或多条语句。forin语句的格式是:for(variableinarray_name)循环体语句;其中variable将遍历数组中的每个索引。其执行过程如下:variable被赋值为数组的第1个下标索引如果variable值是一个有效的下标索引,就执行步骤3,否则退出循环。执行循环体语句。variable被赋值为数组的下一个下标索引,转去执行步骤2进行循环判断。,2020/6/13,中山大学计算机科学系,5.2.6Array对象,例5.10使用forin语句修改例5.8的程序varclassmates,i,out;classmates=newArray(张月,李良,王力,何芳);out=;for(iinclassmates)if(i0)out+=n;/除第1行之外,每行文本输出前先换行out+=第+(parseInt(i)+1)+个同学是:+classmatesi;WScript.Echo(out);for(iinclassmates)中的i在循环中遍历数组classmates的下标时,i的值其实是字符串类型的下标值。,2020/6/13,中山大学计算机科学系,5.2.6Array对象,Array对象的常用属性和方法Array对象的最常用属性和方法:length和toString()。例5.11使用toString()方法输出例5.10中数组对象classmates的内容。varclassmates=newArray(张月,李良,王力,何芳);WScript.Echo(我的同学有:+classmates.toString();,2020/6/13,中山大学计算机科学系,5.2.6Array对象,二维数组*如果数组中所有数组元素的值都是基本类型的值,就把这种数组称为一维数组。当数组中所有数组元素的值又都是数组时,就形成了二维数组。例5.12使用二维数组输出学生的成绩表。varstudents,i,j,out;students=newArray();students0=newArray(张月,78,92);students1=newArray(李良,64,76);students2=newArray(王力,58,67);students3=newArray(何芳,87,98);.,2020/6/13,中山大学计算机科学系,5.3使用ActiveX对象,5.3.1什么是ActiveX对象?ActiveX对象是指ActiveX部件提供的对象。ActiveX部件是按ActiveX技术开发的可执行程序文件(如一个.exe、.dll或.ocx文件)。ActiveX部件来源:安装Windows操作系统安装应用软件专门购买或免费获取而安装的ActiveX部件。自己开发的ActiveX部件。通过启动“注册表编辑器”(方法:“开始”菜单“运行”命令,执行regedit),展开键根“HKEY_CLASSES_ROOT”,可查看ActiveX对象,2020/6/13,中山大学计算机科学系,5.3使用ActiveX对象,5.3.2创建ActiveX对象方法:newObj=newActiveXObject(com_name.class_name);com_name是部件名,class_name是对象类名例5.13通过编程启动Excel应用程序。varexcelApp;excelApp=newActiveXObject(Excel.Application);excelApp.Visible=true;WScript.Echo(确定后,关闭Excel窗口);excelApp.Quit();通过帮助了解Word和Excel对象的详细使用方法,2020/6/13,中山大学计算机科学系,5.3.3使用文件系统对象,脚本运行时库部件使用FileSystemObject(FSO)对象模型提供一组与文件系统相关的的对象,包括驱动器、文件夹和文件等对象,如表5-7所示。,2020/6/13,中山大学计算机科学系,5.3.3使用文件系统对象,FileSystemObject对象FileSystemObject对象提供对计算机文件系统的访问。包括表5-8所列的方法,一个Drives集合属性例5.14列出计算机的所有盘符。varfso,s,d,e;fso=newActiveXObject(Scripting.FileSystemObject);e=newEnumerator(fso.Drives);s=;while(!e.atEnd()/枚举对象e是否指向集合的末尾if(s!=)s+=,;d=e.item();s=s+d.DriveLetter;e.moveNext();WScript.Echo(本机有如下盘符:,s);,2020/6/13,中山大学计算机科学系,5.3.3使用文件系统对象,JavaScript不能直接访问集合中的元素,只能通过Enumerator(称为枚举器)对象间接访问。Enumerator对象包含一个当前指针,用于指向集合中的当前元素。通过使用表5-9所列的方法,可以改变当前指针,从而访问集合中的每个元素,2020/6/13,中山大学计算机科学系,5.3.3使用文件系统对象,Drive对象Drive对象提供对特定磁盘驱动器或共享网络设备的属性的访问。Drive对象有表5-10所列的属性,但没有任何方法。例5.15显示C:盘的有关信息。varfso,d,s;fso=newActiveXObject(Scripting.FileSystemObject);d=fso.GetDrive(C:);s=驱动器+d.DriveLetter;s+=n卷标:+d.VolumeName;s+=n序列号:+d.SerialNumber;s+=n文件系统:+d.FileSystem;s+=n容量:+Math.round(d.TotalSize/1024/1024)+MB;s+=t可用空间:+Math.round(d.FreeSpace/1024/1024)+MB;WScript.Echo(s);,2020/6/13,中山大学计算机科学系,5.3.3使用文件系统对象,Folder对象Folder对象提供对文件夹所有属性的访问,具有表5-11所列的方法和属性。例5.16列出E:盘中所有空文件夹(即不包含任何文件和子文件夹的文件夹)的完整路径。functionFindEmptyFolder(folder)if(folder.Files.Count=0,2020/6/13,中山大学计算机科学系,5.3.3使用文件系统对象,File对象File对象提供对文件所有属性的访问,具有与Folder对象类似的方法和属性,如表5-11所示。例5.17统计文件夹E:MyDisk中所有文件大小之和(不包括子文件夹),并对扩展名为TXT的文件进行属性设置:若为只读文件,则设置为非只读文件;若为非只读文件,则设置为只读文件。,2020/6/13,中山大学计算机科学系,5.3.3使用文件系统对象,TextStream对象TextStream对象用于写入和读取文本文件,具有表5-12所列的方法和属性。例5.18将文件夹E:MyDisk中所有文件(不包括子文件夹)的完整路径名按行写入一个文本文件中。例5.19统计例5.18所生成的文本文件中字符“”出现的次数。,2020/6/13,中山大学计算机科学系,5.4使用脚本宿主对象,脚本宿主对象是指脚本解释程序(即脚本宿主)提供的对象。宿主不同,所提供的宿主对象也有所不同。例如,Web浏览器和Windows脚本宿主提供的宿主对象是完全不同的。Windows脚本宿主(即WSH)提供14个对象,并且具有图5.9所示的层次结构。,2020/6/13,中山大学计算机科学系,5.4.1WScript对象,WScript对象具有创建其他宿主对象、输入/输出、控制脚本运行等功能,并提供Windows脚本宿主的特性信息,如表5-13所示。例5.20设计JavaScript脚本,显示该脚本文件和执行该脚本的宿主的完整路径。vars;s=当前执行脚本来自文件:+WScript.ScriptFullName;s+=n执行当前脚本的宿主是:+WScript.FullName;WScript.Echo(s);,2020/6/13,中山大学计算机科学系,5.4.2WshNetwork对象,WshNetwork对象用于访问网络上的共享资源,如表5-14所示。例5.21设计JavaScript脚本,将本机的文件夹E:MyDisk映射为网络驱动器“X:”。varWshNetwork=WScript.CreateObject(WScript.Network);WshNetwork.MapNetworkDrive(X:,MyDisk);WScript.Echo(打开“我的电脑”可看到网络驱动器X:);WshNetwork.RemoveNetworkDrive(X:);WScript.Echo(已去除对网络驱动器X:的映射);,2020/6/13,中山大学计算机科学系,5.4.3WshShell对象,WshShell对象提供对Windows外壳程序的访问,包括运行程序、操纵注册表内容、创建快捷方式和访问系统文件夹等功能,如表5-15所示。例5.22设计JavaScript脚本,执行时将自动启动“记事本”程序打开该脚本文件。varWshShell=WScript.CreateObject(WScript.Shell);WshShell.Run(notepad+WScript.ScriptFullName);例5.23设计JavaScript脚本,显示“我的文档”所对应的物理文件夹名。varWshShell=WScript.CreateObject(WScript.Shell);strDesktop=WshShell.SpecialFolders(MyDocuments);/获取“我的文档”所对应的物理文件夹名WScript.Echo(strDesktop);,2020/6/13,中山大学计算机科学系,5.4.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论