5.3面向对象的功能实现_第1页
5.3面向对象的功能实现_第2页
5.3面向对象的功能实现_第3页
5.3面向对象的功能实现_第4页
5.3面向对象的功能实现_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1/15.3面向对象的功能实现..面向对象的功能实现一、教学目标1、知识与技能(1)认识创建类的的方法(2)认识对象的声明和实例化的方法。

(3)了解利用VB进行面向对象程序设计的一般过程。

2、过程与方法(1)在VB中创建并使用类。

(2)掌握利用VB进行面向对象程序设计的一般过程。

3、情感态度和价值观(1)关注面向对象程序设计的功能实现。

(2)产生对面向对象的功能实现学习的愿望。

(3)从思想上把握面向对象程序设计的一般过程。

二、重点难点教学重点:

(1)创建类。

(2)对象的声明和实例化。

教学难点:

(1)在类中创建方法。

(2)在类中创建属性。

三、教学环境1、教材处理..教材以广东教育出版社的信息技术(选修一)《算法与程序设计》第五章第三节内容为框架,主题是面向对象功能的实现。

为了与第一节内容相衔接,部分内容参考了上海科教版的普通高中信息技术课程实验教材《算法与程序设计》。

采用讲解、任务驱动、实践和学生自主学习相结合的学习方法。

2、预备知识学生已认识面向对象程序设计的基本思想,初步了解了类、对象等概念,通过比较得知两种程序设计方法的优劣所在。

有了这些基础,学习者明显产生了想进一步学习面向对象设计知识的欲望。

3、硬件要求:

计算机机房或网络教室。

4、所需软件:

学生机要安装VB6.0或以上版本。

5、所需课时:

1课时。

四、教学过程导入:

1、简要介绍本节课的教学目标:

学会在VB中创建类和类的属性、方法。

学会对象的创建和引用。

2、复习导入。

前面我们已经学习了面向对象程序设计的核心概念:

类和对象、属性、方法和事件等。

而且初步在程序中运用了面向对象的思想来设计调试程序。

那么类和对象在VB中是怎样创建和引用的呢?(一)创建类创建类的完整过程包括:

先创建一个空白类,然后为这个类定义属性,再定义这个类的方法。

下面是在VB中创建Student类的全过程。

1、创建类(1)选择文件新建工程选项,建立一个标准.EXE新工程;..(2)选择工程添加类模块选项,打开类模块窗口;(3)通过属性窗口将该类命名为Student,如下图一和图二所示:

图二:

工程管理器窗口中的类这样就创好了一个Student类,目前在类代码窗口还是空白,因此还是一个空白类。

接下来在类代码窗口可以定义该类的属性。

2、创建属性创建类模块后,可以通过两种方式为类添加属性,即使用公共变量和使用属性过程。

(1)公共变量使用公共变量创建属性是最简单的方法。

只要在类模块的声明段输入即可。

(类模块结构就像一个结构化的程序)定义属性的语句如下:

Public(Private)属性名As类型..例如:

在活动二中定义Student的属性段如下:

Privatem_nameAsString姓名Privatem_score(3)AsInteger三门课程分数的数组注:

用关键字Public声明的属性对应用程序是可见的,程序的任意部分都可能改变属性值。

例如,可以将任何具有正确数据类型的值赋给m_name属性。

这对于对象的属性来说存在不安全的因素。

要将这个属性设置成只读,就要使用下面要讲的利用属性过程创建属性。

用关键字Private声明的属性对应用程序来说是不可见的,达到了隐藏数据的效果,只有属性内部的方法(过程或函数)可调用该属性值。

(2)属性过程属性过程是在类中建立属性最安全、最灵活的方法。

当用户访问一个属性时,属性过程能执行代码。

VB系统提供了三种可用的属性过程:

=1\*GB3①PropertyGet:返回属性值的一个函数。

供用户读取对象的属性值。

=2\*GB3②PropertyLet:设置属性值的一个子程序。

供用户写入对象的属性值。

=3\*GB3③PropertySet:PropertyLet的一个特例,供用户写入对象的属性值为一对象。

属性过程一般成对出现,即具有相同过程名(即属性名)的PropertyGet和PropertyLet(Set),这样定义属性值可读可写。

若只有PropertyGet过程,则该属性为只读属性,即应用程序不能直接改变该属性的值。

..例:

将密码PassWord设置为只读属性,用户不能直接改变;属性Name可读写,则相应程序代码为:

程序说明:

上述模块声明了私有变量mPassWord和mName用于在属性过程间传递数据,对外部程序来说是不可见的,私有变量只在声明的类模块内部过程进行控制。

例如,输入姓名值时,该值只能通过PropertyLetName()属性过程保存在变量mName中;读取属性值时,必须调用PropertyGetName()属性过程将mName的值传递给Name属性。

这就是数据的隐蔽性。

3、创建方法类的方法就是在类中定义的过程或函数。

前面我们已经学过在VB中创建过程或函数使用Sub或Function关键字。

..注:

用Private定义的作用域,只能调用类中的代码。

用Public定义的作用域,可以在类外部调用代码。

创建一个方法的步骤:

(1)确定方法是公共的还是私有的。

那些将从该类外部访问的方法应当声明为Public,其他的方法应当声明为Private。

(2)确定该方法是否返回值。

如果一个方法必须返回一个值,必须定义为函数(Function),否则可以定义为一个过程(Sub)。

(3)编写该方法的代码。

如前面活动二中的代码马上行动:

运用属性和方法定义的原理,仔细阅读第一节中Student类的定义,解释其中属性的公私有性质及对这些属性进行读写操作的方法。

..Privatem_nameAsStringPrivatem_score(3)AsIntegerPublicSubSetInf(nameAsString,s1AsInteger,s2AsInteger,s3AsInteger)m_name=namem_score(1)=s1m_score(2)=s2m_score(3)=s3EndSubPublicFunctionGetName()AsStringGetName=m_nameEndFunctionPublicFunctionGetScore(indexAsInteger)AsIntegerGetScore=m_score(index)EndFunctionPublicFunctionGetTotal()AsSingleGetTotal=m_score(1)*0.2+m_score(2)*0.5+m_score(3)*0.3EndFunctionPublicFunctionJudge()AsStringIfm_score(1)=85Andm_score(2)=85Andm_score(3)=85ThenJudge=优秀ElseIfGetTotal()70Andm_score(1)=60Andm_score(2)=60And..m_score(3)=60ThenJudge=合格ElseJudge=无EndIfEndFunction(二)对象的声明和实例化在类模块中创建一个类后,该类本身不起作用,没有属性值和行为动作。

通过创建一个对象来使用和测试一个类,这个对象就是该类的一个实例。

通过这个实例来引用类中的属性和方法。

在面向对象程序设计中,实际操作的是类的具体实例──对象,类只是一个模板。

因此创建一个对象的过程又称为实例化。

每次使用一个类的新对象时,都必须进行以下工作:

(1)声明对象变量;(2)创建对象;..(3)使用对象的属性、方法等;(4)释放对对象的引用。

下面以Student类的对象使用和测试为例,学习在应用程序中使用类的方法。

1、声明对象变量格式:

Dim对象变量名As类名例如,要为学生类声明一个对象变量──stu,可定义如下:

DimstuAsStudent2、创建对象我们可以将声明变量和创建对象的功能集于一体,创建对象。

创建对象的语句格式为:

格式:

Dim对象变量名AsNew类名例如:

在活动二中定义了一个Stu对象DimstuAsNewStudent注:

使用New关键字声明的对象变量同时为其分配内存空间。

声明对象变量以后,要创建变量则使用语句:

Set对象变量名=New类名3、调用对象的方法以活动二为例,调用对象的方法如下:

将学生的信息赋给对象CallStu.SetInfo(StName,sc1,sc2,sc3)‘获取在文本框中输入的姓名..stu.GetName()‘获取在文本框中输入的各科分数stu.GetScore(1)stu.GetScore(2)stu.GetScore(3)计算总分stu.GetTotal()判断证书类型stu.Judge()4、释放对对象的引用为了提高计算机内存的使用效率,最重要的一点就是要及时清空内存中那些不再需要的代码。

一个新对象的声明就意味着为该对象分派了必须的内存单元。

如果该对象不再需要可及时释放。

格式:

Set对象名=Nothing例如:

不再需要对象Stu时,可以这样释放,SetStu=Nothing至此,可以将在VB中

温馨提示

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

评论

0/150

提交评论