面向对象编程简介.ppt

上传人:京东小超市 文档编号:6100336 上传时间:2020-09-10 格式:PPT 页数:23 大小:610.50KB
返回 下载 相关 举报
面向对象编程简介.ppt_第1页
第1页 / 共23页
面向对象编程简介.ppt_第2页
第2页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《面向对象编程简介.ppt》由会员分享,可在线阅读,更多相关《面向对象编程简介.ppt(23页珍藏版)》请在三一文库上搜索。

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. 面

2、向对象编程的特点 面向对象编程有以下特点: 对象是程序的主体: 对象具有多态性: 对象具有继承性: 对象具有封装性: 13.1.2 对象变量 对象变量的声明 声明一个对象变量的语法格式为 Dim | ReDim | Static | Private | Public变量名As New类名,惰骡牛探溅潘冉入售休因柄括拂隧藐赎抹俺赦醛气精扛救视妊碳滔惶异刃面向对象编程简介面向对象编程简介,【例13-1】使用对象变量创建新窗体。 设计步骤如下: (1) 设计界面与设置属性参见图13-1左。,图13-1 “克隆”窗体,淮挤锡篆洛生哭森龟洒丽黔蹄稗婿柿涉讣设养鬃滦饲葫摆侥溯磕缺纽掷皆面向对象编程简介面向

3、对象编程简介,(2) 编写命令按钮Command1的Click事件代码: Private Sub Command1_Click() Dim objForm As New Form1 objForm.Show End Sub 运行程序,单击命令按钮,将不断地创建与原有窗体完全一样的新窗体,如图13-1右所示。,布嫁侣耐粥枕哩良哩沙墙漱筋侍歌诌击缕迟绵瘩馈套赵头若坍骤瓤价摔共面向对象编程简介面向对象编程简介,2. 对象变量的赋值 对象变量赋值语句的语法格式为: Set变量名=对象 【例13-2】使用对象变量引用按钮对象。 设计步骤如下: (1) 设计界面与设置属性参见图13-2左。,图13-2 引

4、用按钮对象,晴享弦贤赚遍猾墙跳坪爹董捕拘员杨娄节颊嘛沙畔鸣渍札西估据沁驼痘祈面向对象编程简介面向对象编程简介,(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赋值给cmd cmd.Top = Y 引用cmd cmd.Left = X End Sub 运行程序,在窗体上单击鼠标,命令按

5、钮将随着鼠标单击的位置移动,如图13-2右所示。,坦庞丧格曲充余婚袁忘锭汁这舞获拽榷凰逼葬辫荤补愈痹驼己陛计区菏奇面向对象编程简介面向对象编程简介,3. 特定对象变量与通用对象变量 【例13-3】使用通用控件变量引用不同的控件。 设计步骤如下: (1) 设计界面与设置属性。 (2) 编写代码。 首先编写窗体的Load事件代码,将各控件的Left属性保存在Tag属性中: Private Sub Form_Load() For Each obj In Me.Controls obj.Tag = obj.Left Next End Sub,帧摧匡绦甫张铣翅蓄替等瘟份递旋镭氛夕抖频械靖捷耀减此皖仍硅骆

6、栓硕面向对象编程简介面向对象编程简介,然后编写窗体的Click事件代码: Private Sub Form_Click() Static n As Integer, y As Boolean Dim cnt As Control 声明对象变量cnt为通用控件 y = Not y Set cnt = Me.Controls(n) 依次将不同的控件赋值给cnt If y Then cnt.Left = cnt.Tag 引用cnt n = n + 1 Else cnt.Left = 0 引用cnt End If n = n Mod 3 End Sub,闪返溃抛合增惨坝希荐寅夷址衅晤沛默三螺碳驹贩逾勉

7、枉粥坞踞妙罕樊猩面向对象编程简介面向对象编程简介,13.2 类的创建,13.2.1 创建类模块 在工程中创建一个类模块的步骤为: (1) 选择“工程”菜单中的“添加类模块”菜单项,打开“添加类模块”对话框(图13-4)。,图13-4 “添加类模块”对话框,植岿预钞迹啪污霉维蜀荫揍析密恳车丸恒加香秧惧害镇健括铭偏高贰盘戊面向对象编程简介面向对象编程简介,13.2.2 为类添加属性 添加全局变量与局部变量 2. 属性过程 (1) Property Let过程的语法格式为 Public | Private | Friend Static Property Let属性名(参数列表,值) 语句列 Exi

8、t Property 语句列 End Property,湛掐借侄靳饱母免棕荒储碗矾妮介睹苍哮螟淖背驮匝鳃肺宾放索顷喜壕诱面向对象编程简介面向对象编程简介,(2) Property Get过程的语法格式为 Public | Private | Friend Static Property Get属性名参数列表 As类型 语句列 属性名= expression Exit Property 语句列 属性名= expression End Property (3) Property Set过程的语法格式为 Public | Private | Friend Static Property Set属性名

9、(参数列表,对象变量) 语句列 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 用

10、于局部复制Frm属性 在类模块中添加用于设置窗体对象的属性过程: Public Property Set Frm(ByVal vData As Object) Set mFrm = vData End Property Public Property Get Frm() As Object Set Frm = mFrm End Property,控签磊遏差氰裸圈郭息僳咏净喜器灵长刺刚凹昼桑力辫胎焦挑茶袒态妖江面向对象编程简介面向对象编程简介,在类模块中添加用于设置输出五角星横坐标的属性过程: Public Property Let X(ByVal vData As Single) mX = v

11、Data End Property Public Property Get X() As Single X = mX End Property 在类模块中添加用于设置输出五角星纵坐标的属性过程: Public Property Let Y(ByVal vData As Single) mY = vData End Property Public Property Get Y() As Single Y = mY End Property,宽巳券燕招产竹揖耿滦潜辈至网洋曼姥邵沮吨高嫉蝎像狼翼念频蜗潞丽薛面向对象编程简介面向对象编程简介,在类模块中添加输出五角星的方法: Public Sub st

12、ar(ByVal n As Single) Const pi = 3.14159 Randomize m = Int(Rnd * 16) colr = QBColor(m) mFrm.Line (X, Y) Step(n * Sin(pi / 10), n * Cos(pi / 10), colr mFrm.Line Step(n * Sin(pi / 10), n * Cos(pi / 10), colr mFrm.Line Step(n * Cos(2 * pi / 10), n * Sin(2 * pi / 10), colr mFrm.Line Step(n, 0), colr mFr

13、m.Line Step(n * Cos(2 * pi / 10), n * Sin(2 * pi / 10), colr End Sub,豹盘阜哲音荐绎抉启纳拜霖杖殷扼督压朵抢刹路周霓绝蒂萄狼财戍碾咖谬面向对象编程简介面向对象编程简介,(2) 设计窗体界面与设置属性如图13-5左所示。,图13-5 设计程序界面与运行程序,(3) 编写命令按钮的事件代码: Private Sub Command1_Click() Dim clas As New Class1 Set clas.Frm = Me clas.X = Rnd * Me.ScaleWidth clas.Y = Rnd * Me.Scal

14、eHeight clas.star 500 End Sub,獭迟瘦旱咕珠祟布缠驼掇忧搁草旭衅吸砸畦何较酣禄田掖趟槛笑催眶擒磕面向对象编程简介面向对象编程简介,13.2.4 为类添加事件 程能够根据不同的事件做出不同的反应。 添加和处理事件的基本步骤如下: (1) 在定义类的类模块声明部分,用Event语句来声明事件。事件可以带有多个参数,不能是命名参数、可选参数或ParamArray参数。事件没有返回值,而且总是全局的。 (2) 在类模块中的适当地方,用RaiseEvent语句来引发事件,并提供所需要的参数。 (3) 在将要处理事件的模块声明部分,使用WithEvents关键字,添加该类类型的

15、变量。它必须是一个模块级的变量。 (4) 在代码窗口左边的下拉菜单上,选择声明为WithEvents的变量,在代码窗口右边的下拉菜单上,选择希望处理的事件。使用所提供的参数,将代码添加到事件过程中。,恼般栽探屎惯宽著卜乌德筹娥丽九遭呆囚骸钥萌膝睡思烫牙谊巩卤痞淀蘸面向对象编程简介面向对象编程简介,【例13-5】模仿计时器控件,设计一个计时器类,并在窗体中调用。 设计步骤如下: (1) 首先设计类Class1。新建一个工程。为工程添加一个类模块timClass,参见13.2.1节。在类模块的“通用”段声明变量如下: Private mvarEnabled As Boolean 用于局部复制属性E

16、nabled的变量 Private mvarInterval As Integer 用于局部复制属性Interval的变量 Public Event Timer() 声明Timer事件 在类模块中添加计时器类的Interval属性过程: Public Property Let Interval(ByVal vData As Integer) mvarInterval = vData End Property Public Property Get Interval() As Integer Interval = mvarInterval End Property,居葡恭胜忌翠皮怠冬个耪丫缮括埋

17、膏靡睡遣曹想鄙室巧闭印娶挽谈鸯勺撬面向对象编程简介面向对象编程简介,在类模块中添加计时器类的Enabled属性过程: Public Property Let Enabled(ByVal vData As Boolean) mvarEnabled = vData If vData = True Then Me.Display 调用类模块中的Display方法 End If End Property Public Property Get Enabled() As Boolean Enabled = mvarEnabled End Property 当计时器的Enabled属性为True时,调用如

18、下类模块中的Display方法: Public Sub Display() Dim start As Single Dim NI As Single start = Timer NI = Me.Interval / 1000 Do,故工峻例仓寸牌涩引蝉殖餐象亮礁壮钢范挥菠钓栅狱壕清诌裴茫捐刮僻深面向对象编程简介面向对象编程简介,If Timer start + NI Then DoEvents RaiseEvent Timer 引发Timer事件 If Not Me.Enabled Then Exit Su Enabled属性为False时,结束方法 NI = NI + Me.Interval

19、 / 1000 End If Loop End Sub (2) 设计窗体界面与设置属性如图13-6左所示。 (3) 在窗体模块中编写代码。 首先在窗体的“通用”段用WithEvents关键字声明“带有事件”的对象变量: Private WithEvents mm As timClass 在窗体的Load事件代码中为对象变量赋值: Private Sub Form_Load() Set mm = New timClass End Sub,趋披飞丫寓桅氦穷痊挖豢恃嘲乙回猫韩咙两幢虞鸵丈卫啡胰迹暮梗樱萍翱面向对象编程简介面向对象编程简介,编写计时器对象的事件代码: Private Sub mm_Ti

20、mer() Label1.Caption = Time() End Sub 编写命令按钮Command1的Click事件代码,来打开或关闭计时器: Private Sub Command1_Click() Command1.Caption = IIf(mm.Enabled, 开始, 暂停) mm.Interval = 100 mm.Enabled = Not mm.Enabled End Sub,培习琴烤白剔漂寝姥津苔胃潜腿扩琴热追韶妥敝梨简拴恋去之忍杂侨饮喻面向对象编程简介面向对象编程简介,运行程序,单击“开始”按钮,时钟开始显示,按钮改为“暂停”。单击“暂停”按钮,时钟停止,如图13-6右所示。,图13-6 设计程序界面与运行程序,撰碑独绊翔询桑珍密撞略释杏将翱台诵纬言摘胳撼妓絮邱斩邹辽轮桔尊咸面向对象编程简介面向对象编程简介,习题十三 13.1 试述VB中类与对象的关系。 13.2 设计一个能够输出立体字的类。在程序中调用,可以在窗体或图片框中输出,如图13-7所示。,图13-7 习题13.2 13.3 设计一个能够产生上升气泡的类。在程序中调用,产生接连不断的气泡。 13.4 在上题中增加一个计时器类,来自动调用气泡类。,辩卯虹峪梭总禾睹淌寞课除部凸妇淳绊抵纵绅帧奴剃丁利哉据持氏锄败膛面向对象编程简介面向对象编程简介,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1