ImageVerifierCode 换一换
格式:PPT , 页数:23 ,大小:633KB ,
资源ID:8007775      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-8007775.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(可视化程序设计第13章 面向对象编程简介.ppt)为本站会员(gnk289057)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

可视化程序设计第13章 面向对象编程简介.ppt

1、Visual Basic 程序设计教程,机械工业出版社同名教材 配套电子教案,2003 年 6月,第13章 面向对象编程简介,13.1 基本概念13.1.1 对象和类 13.1.2 对象变量 13.2 类的创建 13.2.1 创建类模块 13.2.2 为类添加属性 13.2.3 为类添加方法 13.2.4 为类添加事件 习题十三,13.1 基本概念13.1.1 对象和类1.对象 2. 类 3. 面向对象编程的特点 面向对象编程有以下特点:对象是程序的主体:对象具有多态性:对象具有继承性:对象具有封装性: 13.1.2 对象变量 对象变量的声明 声明一个对象变量的语法格式为 Dim | ReDi

2、m | Static | Private | Public变量名As New类名,【例13-1】使用对象变量创建新窗体。设计步骤如下:(1) 设计界面与设置属性参见图13-1左。,图13-1 “克隆”窗体,(2) 编写命令按钮Command1的Click事件代码: Private Sub Command1_Click()Dim objForm As New Form1objForm.Show End Sub运行程序,单击命令按钮,将不断地创建与原有窗体完全一样的新窗体,如图13-1右所示。,2. 对象变量的赋值 对象变量赋值语句的语法格式为:Set变量名=对象 【例13-2】使用对象变量引用按

3、钮对象。设计步骤如下:(1) 设计界面与设置属性参见图13-2左。,图13-2 引用按钮对象,(2) 编写窗体的MouseUp事件代码: Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)Dim cmd As CommandButton 声明对象变量cmd为按钮类型Set cmd = Command1 将命令按钮Command1赋值给cmdcmd.Top = Y 引用cmdcmd.Left = X End Sub运行程序,在窗体上单击鼠标,命令按钮将随着鼠标单击的位置移动

4、,如图13-2右所示。,3. 特定对象变量与通用对象变量 【例13-3】使用通用控件变量引用不同的控件。设计步骤如下:(1) 设计界面与设置属性。(2) 编写代码。首先编写窗体的Load事件代码,将各控件的Left属性保存在Tag属性中: Private Sub Form_Load()For Each obj In Me.Controlsobj.Tag = obj.LeftNext End Sub,然后编写窗体的Click事件代码: Private Sub Form_Click()Static n As Integer, y As BooleanDim cnt As Control 声明对象变

5、量cnt为通用控件y = Not ySet cnt = Me.Controls(n) 依次将不同的控件赋值给cntIf y Thencnt.Left = cnt.Tag 引用cntn = n + 1Elsecnt.Left = 0 引用cntEnd Ifn = n Mod 3 End Sub,13.2 类的创建,13.2.1 创建类模块 在工程中创建一个类模块的步骤为:(1) 选择“工程”菜单中的“添加类模块”菜单项,打开“添加类模块”对话框(图13-4)。,图13-4 “添加类模块”对话框,13.2.2 为类添加属性 添加全局变量与局部变量 2. 属性过程 (1) Property Let过

6、程的语法格式为 Public | Private | Friend Static Property Let属性名(参数列表,值)语句列Exit Property 语句列 End Property,(2) Property Get过程的语法格式为 Public | Private | Friend Static Property Get属性名参数列表 As类型语句列属性名= expressionExit Property 语句列属性名= expression End Property(3) Property Set过程的语法格式为 Public | Private | Friend Static

7、 Property Set属性名(参数列表,对象变量)语句列Exit Property 语句列 End Property,13.2.3 为类添加方法 【例13-4】设计一个能画出五角星的类,并在窗体中调用。设计步骤如下:(1) 首先设计类Class1。新建一个工程。为工程添加一个类模块Class1,参见13.2.1。在类模块的“通用”段声明变量如下: Private mX As Single 用于局部复制X属性 Private mY As Single 用于局部复制Y属性 Private mFrm As Object 用于局部复制Frm属性在类模块中添加用于设置窗体对象的属性过程: Publi

8、c Property Set Frm(ByVal vData As Object)Set mFrm = vData End PropertyPublic Property Get Frm() As ObjectSet Frm = mFrm End Property,在类模块中添加用于设置输出五角星横坐标的属性过程: Public Property Let X(ByVal vData As Single)mX = vData End PropertyPublic Property Get X() As SingleX = mX End Property在类模块中添加用于设置输出五角星纵坐标的属性

9、过程: Public Property Let Y(ByVal vData As Single)mY = vData End PropertyPublic Property Get Y() As SingleY = mY End Property,在类模块中添加输出五角星的方法: Public Sub star(ByVal n As Single)Const pi = 3.14159Randomizem = Int(Rnd * 16)colr = QBColor(m)mFrm.Line (X, Y) Step(n * Sin(pi / 10), n * Cos(pi / 10), colrmF

10、rm.Line Step(n * Sin(pi / 10), n * Cos(pi / 10), colrmFrm.Line Step(n * Cos(2 * pi / 10), n * Sin(2 * pi / 10), colrmFrm.Line Step(n, 0), colrmFrm.Line Step(n * Cos(2 * pi / 10), n * Sin(2 * pi / 10), colr End Sub,(2) 设计窗体界面与设置属性如图13-5左所示。,图13-5 设计程序界面与运行程序,(3) 编写命令按钮的事件代码: Private Sub Command1_Clic

11、k()Dim clas As New Class1Set clas.Frm = Meclas.X = Rnd * Me.ScaleWidthclas.Y = Rnd * Me.ScaleHeightclas.star 500 End Sub,13.2.4 为类添加事件 程能够根据不同的事件做出不同的反应。添加和处理事件的基本步骤如下:(1) 在定义类的类模块声明部分,用Event语句来声明事件。事件可以带有多个参数,不能是命名参数、可选参数或ParamArray参数。事件没有返回值,而且总是全局的。(2) 在类模块中的适当地方,用RaiseEvent语句来引发事件,并提供所需要的参数。(3)

12、在将要处理事件的模块声明部分,使用WithEvents关键字,添加该类类型的变量。它必须是一个模块级的变量。(4) 在代码窗口左边的下拉菜单上,选择声明为WithEvents的变量,在代码窗口右边的下拉菜单上,选择希望处理的事件。使用所提供的参数,将代码添加到事件过程中。,【例13-5】模仿计时器控件,设计一个计时器类,并在窗体中调用。设计步骤如下:(1) 首先设计类Class1。新建一个工程。为工程添加一个类模块timClass,参见13.2.1节。在类模块的“通用”段声明变量如下: Private mvarEnabled As Boolean 用于局部复制属性Enabled的变量 Priv

13、ate mvarInterval As Integer 用于局部复制属性Interval的变量 Public Event Timer() 声明Timer事件在类模块中添加计时器类的Interval属性过程: Public Property Let Interval(ByVal vData As Integer)mvarInterval = vData End PropertyPublic Property Get Interval() As IntegerInterval = mvarInterval End Property,在类模块中添加计时器类的Enabled属性过程: Public P

14、roperty Let Enabled(ByVal vData As Boolean)mvarEnabled = vDataIf vData = True ThenMe.Display 调用类模块中的Display方法End If End Property Public Property Get Enabled() As BooleanEnabled = mvarEnabled End Property当计时器的Enabled属性为True时,调用如下类模块中的Display方法: Public Sub Display()Dim start As SingleDim NI As Singles

15、tart = TimerNI = Me.Interval / 1000Do,If Timer start + NI ThenDoEventsRaiseEvent Timer 引发Timer事件If Not Me.Enabled Then Exit Su Enabled属性为False时,结束方法NI = NI + Me.Interval / 1000End IfLoop End Sub(2) 设计窗体界面与设置属性如图13-6左所示。(3) 在窗体模块中编写代码。首先在窗体的“通用”段用WithEvents关键字声明“带有事件”的对象变量: Private WithEvents mm As t

16、imClass在窗体的Load事件代码中为对象变量赋值: Private Sub Form_Load()Set mm = New timClass End Sub,编写计时器对象的事件代码: Private Sub mm_Timer()Label1.Caption = Time() End Sub编写命令按钮Command1的Click事件代码,来打开或关闭计时器: Private Sub Command1_Click()Command1.Caption = IIf(mm.Enabled, “开始“, “暂停“)mm.Interval = 100mm.Enabled = Not mm.Enabled End Sub,运行程序,单击“开始”按钮,时钟开始显示,按钮改为“暂停”。单击“暂停”按钮,时钟停止,如图13-6右所示。,图13-6 设计程序界面与运行程序,习题十三13.1 试述VB中类与对象的关系。13.2 设计一个能够输出立体字的类。在程序中调用,可以在窗体或图片框中输出,如图13-7所示。,图13-7 习题13.213.3 设计一个能够产生上升气泡的类。在程序中调用,产生接连不断的气泡。13.4 在上题中增加一个计时器类,来自动调用气泡类。,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报