欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPTX文档下载  

    VBA面向对象程序设计课件.pptx

    • 资源ID:1289724       资源大小:927.61KB        全文页数:69页
    • 资源格式: PPTX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    VBA面向对象程序设计课件.pptx

    第9章VBA面向对象的程序设计,面向对象的基本概念VBA面向对象的方法面向对象编程的综合应用,第9章VBA面向对象的程序设计面向对象的基本概念,面向对象的系统观,不同于结构化程序设计思想,基于面向对象的系统观认为,一个系统是由若干对象和这些对象间的交互构造而成。面向对象系统观反映了基于面向对象的方法如何构造软件系统。,2022/11/4,2,数据库应用,面向对象的系统观不同于结构化程序设计思想,基于面向对象的系统,9.1.1 面向对象核心概念,对象属性方法和事件接口消息类,2022/11/4,3,数据库应用,9.1.1 面向对象核心概念对象2022/10/93数据库应,对象,对象就是现实或抽象世界中具有明确含义或边界的事物。例如学生“江华”就是一个对象。对象是属性和方法(或事件)的封装体。VBA包括:窗体、命令按钮、组合框等对象。这些对象用来构成与用户交互的界面元素,2022/11/4,4,数据库应用,对象对象就是现实或抽象世界中具有明确含义或边界的事物。202,对象示意图,2022/11/4,5,数据库应用,对象示意图2022/10/95数据库应用,组合框对象的方法,2022/11/4,6,数据库应用,组合框对象的方法2022/10/96数据库应用,2. 属性,属性用来刻画对象所具备的特性,属性具有属性名和属性值两个部分。例如江华的籍贯为“江西赣州”“江西赣州”为学生“江华”的籍贯属性取值,2022/11/4,7,数据库应用,2. 属性属性用来刻画对象所具备的特性,2022/10/97,属性,属性取值不同,可以使对象具有不同的状态。对图形化界面中的命令按钮来说,属性用来控制其显示的特性,例如“标题”属性的取值为“确定”,决定命令按钮上显示的文字为“确定”。命令按钮的“可用”属性决定命令按钮是否有效,2022/11/4,8,数据库应用,属性属性取值不同,可以使对象具有不同的状态。2022/10/,命令按钮部分属性,2022/11/4,9,数据库应用,命令按钮部分属性2022/10/99数据库应用,3. 方法和事件,方法(或事件)是对象具有的某种处理功能,在程序代码上表现为一个程序过程。例如学生“江华”的“注册学籍”、“选修课程”操作就是学生对象具有的方法。,2022/11/4,10,数据库应用,3. 方法和事件方法(或事件)是对象具有的某种处理功能,在程,方法和事件不同之处,对象的方法调用是使用特定格式的显式调用。事件的调用方式是隐式的。即通常不存在一条语句来说明事件被调用。事件的调用或触发是由用户的操作来实现的,这被称为事件驱动。,2022/11/4,11,数据库应用,方法和事件不同之处对象的方法调用是使用特定格式的显式调用。2,事件例子,例如:命令按钮上存在鼠标的单击事件,当用户使用鼠标指向该命令按钮并单击鼠标左键时,将触发在命令按钮上单击事件中预先编写的代码。,2022/11/4,12,数据库应用,事件例子例如:命令按钮上存在鼠标的单击事件,当用户使用鼠标指,命令按钮具有的事件,通常一个对象包括很多事件,命令按钮具有的事件。,2022/11/4,13,数据库应用,命令按钮具有的事件通常一个对象包括很多事件,命令按钮具有的事,4. 接口,接口是对象的特殊属性和方法(或事件),它表示一个对象为其他对象提供的服务。这些服务包括一个对象向其他对象公开的属性和方法(或事件)。一个对象接口中的属性和方法(或事件)为其他对象所知道,故其他对象通过发送消息到该对象来实现对象间的交互。,2022/11/4,14,数据库应用,4. 接口接口是对象的特殊属性和方法(或事件),它表示一个对,5. 消息,消息实现了对象间的交互。一个对象通过接口向外界公布其提供的属性和方法(或事件),其他对象通过发送一个特定的消息来与这个对象进行交互,可能有结果返回到发送消息的对象,也可能没有结果返回发送消息的对象。消息的描述除了和对象公布的属性和方法(或事件)有关外,它还有特定的格式。例如:Application.!.属性名 = 值,2022/11/4,15,数据库应用,5. 消息消息实现了对象间的交互。2022/10/915数据,6. 类,在面向对象程序设计中,为提高程序代码的重用,一个特定对象的属性和方法(或事件)由一个特定类来定义。类可以视为生产多个具有相同属性和方法(或事件)的对象模板。一般利用类来组织相似的多个对象。,2022/11/4,16,数据库应用,6. 类在面向对象程序设计中,为提高程序代码的重用,一个特定,类,在面向对象系统和程序中,具有相同结构和功能的对象一般用类进行描述,并把一个特定对象称为其所属类的实例。类描述的是具有相同属性和方法(或事件)的一组对象。,2022/11/4,17,数据库应用,类在面向对象系统和程序中,具有相同结构和功能的对象一般用类进,类的例子,例如:江华和杨阳都是学生,即他们是“学生”类的实例,他们都具有“学号”、“姓名”等属性,同时都具有“注册学籍”、“选修课程”等操作方法。为此面向对象方法中提出将具有相同属性和方法(或事件)对象抽象到类的方法,即类是对象的抽象,而一个具体对象是某个类的实例。,2022/11/4,18,数据库应用,类的例子例如:江华和杨阳都是学生,即他们是“学生”类的实例,,类的例子,由于类与对象使用相同的描述方式,即都具有属性和方法(或事件)。这使得类、对象的概念容易混淆。“学生”是一个类“学生A”则是“学生”类的一个对象。在面向对象概念中,类是对象的抽象,对象是类的实例。,2022/11/4,19,数据库应用,类的例子由于类与对象使用相同的描述方式,即都具有属性和方法(,9.1.2 类或对象的特性,对象的可标识性类或对象的封装性对象的状态性对象的自治性类的继承性,2022/11/4,20,数据库应用,9.1.2 类或对象的特性对象的可标识性2022/10/92,对象的可标识性,每个对象实例都有标识自己的名称(Name)或标识号(英语为Identifier,简写为ID)。例如,如果图章具有自动改变序号功能,则每个实例化出来的图章印,虽具有相同的属性和操作,但它们具有不同的标识号序号不同。,2022/11/4,21,数据库应用,对象的可标识性每个对象实例都有标识自己的名称(Name)或标,对象可标识性示例,左侧选中的复选框名称为Check0名称“Check0”被用来标识左侧的复选框对象。,2022/11/4,22,数据库应用,对象可标识性示例左侧选中的复选框名称为Check02022/,2. 类或对象的封装性,类(或对象)的封装性表现在对象将属性和方法(或事件)封装在对象中。对象封装的好处是可以隐藏对象内部的实现细节,即所谓的信息隐蔽原则,也可以理解为黑箱。只关心它提供的功能,不关心对象的功能是如何编写实现。可以杜绝由于某个对象的方法(或事件)改变对其他对象的影响,通过独立的分治原则可以减低问题的复杂性。,2022/11/4,23,数据库应用,2. 类或对象的封装性类(或对象)的封装性表现在对象将属性和,3. 对象的状态性,对象的状态性是通过给对象的属性赋值来表现的。即对象的取值不同,对象就处于不同状态。例如,命令按钮是否可用。,2022/11/4,24,数据库应用,3. 对象的状态性对象的状态性是通过给对象的属性赋值来表现的,4. 对象的自治性,由于对象是属性和方法(或事件)的封装体。对象状态的改变是由该对象自身实施的。即其他对象通过发送消息,请求一个对象改变其状态,该对象的状态是否改变取决于该对象当前的状态,在某些状态下可能无法改变该对象的状态,这称为对象的自治性。,2022/11/4,25,数据库应用,4. 对象的自治性由于对象是属性和方法(或事件)的封装体。2,5. 类的继承性,面向对象的概念中,已经讨论了类与对象间的关系,类与类之间是否存在关系呢?一个类与另一个类之间可能存在类继承关系。,2022/11/4,26,数据库应用,5. 类的继承性面向对象的概念中,已经讨论了类与对象间的关系,类继承的例子,父类子类子类继承了父类的所有属性和方法(或事件),2022/11/4,27,数据库应用,类继承的例子父类2022/10/927数据库应用,类继承的例子,“汽车”类是一个抽象的类它具有一般汽车具有的属性和方法(或事件),这里它被称为父类(也被称为基类)。“小汽车”类代表“汽车”类下面的一个分类,这里被称为子类,子类继承了父类的所有属性和方法(或事件)。,2022/11/4,28,数据库应用,类继承的例子“汽车”类是一个抽象的类2022/10/928数,类继承的例子,由子类实例化所得对象的属性和方法(或事件)包括在子类中定义的属性和方法(或事件),在父(基)类中定义的属性和方法(或事件)。,2022/11/4,29,数据库应用,类继承的例子由子类实例化所得对象的属性和方法(或事件)包括2,类继承的优点,类继承性的好处是可以减少代码冗余。实现一次编码,多处使用减少软件系统开发工作减少软件系统的维护工作量,2022/11/4,30,数据库应用,类继承的优点类继承性的好处是可以减少代码冗余。2022/10,6. 对象的多态性,由于对象的自治性和状态性相同调用,可以返回不同结果。,2022/11/4,31,数据库应用,6. 对象的多态性由于对象的自治性和状态性2022/10/9,7. 面向对象编程过程,对于面向对象程序设计语言来说,编写具备特定功能程序的过程大致分为三步:(1)根据给出的实际问题,抽象出相关的名词术语,再将这些名词变成该系统中的各个核心概念类,类封装了其代表核心概念的属性和方法(或事件);(2)将类实例化为对象;(3)描述这些对象间的交互,即这些对象间的消息关系。,2022/11/4,32,数据库应用,7. 面向对象编程过程对于面向对象程序设计语言来说,编写具备,Access 2007面向对象编程分层,初级阶段中级阶段高级阶段,2022/11/4,33,数据库应用,Access 2007面向对象编程分层初级阶段2022/10,(1)初级阶段,用户不用编写自己的类代码;仅需将Access对象模型提供的类实例化为对象;再编写这些对象间的交互部分的程序。,2022/11/4,34,数据库应用,(1)初级阶段用户不用编写自己的类代码;2022/10/93,(1)初级阶段,初级阶段用户使用的类库是Access 2007的对象模型它提供了几乎所有的Access 2007界面构成元素的类库,2022/11/4,35,数据库应用,(1)初级阶段初级阶段用户使用的类库是Access 2007,初级用户操作,构造定制窗体的过程是将相应的(控件)类实例化为对应(控件)对象的过程编写代码的过程描述多个对象间交互的过程。优点编程简单、编写程序代码可靠性高,2022/11/4,36,数据库应用,初级用户操作构造定制窗体的过程2022/10/936数据库应,初级阶段特性,初级阶段的程序编写主要强调对象的可标识性自治性状态性,2022/11/4,37,数据库应用,初级阶段特性初级阶段的程序编写主要强调对象的2022/10/,(2)中级阶段,中级阶段是在初级的基础上,增加了用户自定义类,但这个类不从其他类继承任何的属性和方法(或事件),它仅仅是一个简单的类。在这个阶段,用户除了初级阶段工作,还需要将自己编写的类先实例化为对象,再引用该对象对应的属性和方法。,2022/11/4,38,数据库应用,(2)中级阶段中级阶段是在初级的基础上,2022/10/93,(3)高级阶段,高级阶段的工作是在中级阶段的基础上增加的用户自定义类涉及从其他类继承了属性和方法(或事件)。,2022/11/4,39,数据库应用,(3)高级阶段高级阶段的工作是在中级阶段的基础上2022/1,类与对象之间的关系,2022/11/4,40,数据库应用,类与对象之间的关系类与类关系类与对象关系对象与对象关系类与类,【例9-1】面向对象编程示例,2022/11/4,41,数据库应用,当选中“可移动”复选框时,窗体可以移动;当没有选中该复选框时,窗体不可移动。单选按钮当单击“中文”单选按钮时,窗体标题显示为“面向对象程序设计示例一”;当单击“English”单选按钮时,窗体标题显示为“A Demonstration for Object-Oriented Program”。,【例9-1】面向对象编程示例2022/10/941数据库应用,面向对象编程示例,构造界面,2022/11/4,42,数据库应用,面向对象编程示例构造界面2022/10/942数据库应用,面向对象编程示例,设置属性例如设置“标题”属性的取值,2022/11/4,43,数据库应用,面向对象编程示例设置属性2022/10/943数据库应用,面向对象编程示例,编写事件代码,2022/11/4,44,数据库应用,面向对象编程示例编写事件代码2022/10/944数据库应,面向对象编程示例,操作步骤“创建” 选项卡 “窗体”组“空白窗体”右击“窗体1”空白处 快捷菜单“属性” “其他”选项卡 “弹出方式”“是”“格式”选项卡 “标题”“面向对象程序设计示例一”右击窗体标题 快捷菜单“设计视图” 将鼠标指针指向“主体” 下侧,在出现上、下箭头状的鼠标指针是进行拖放操作,调整主体大小,2022/11/4,45,数据库应用,面向对象编程示例操作步骤2022/10/945数据库应用,面向对象编程示例,操作步骤(续)“设计”选项卡 “控件组” 复选框“Check0”标签“Label1” “标题”属性“可移动”“设计”选项卡 “控件组” 选项按钮“Option2”标签 “Label3” “标题”属性“中文”“设计”选项卡 “控件组” 选项按钮“Option4”标签“Label5” “标题”属性“English”,2022/11/4,46,数据库应用,面向对象编程示例操作步骤(续)2022/10/946数据库应,面向对象编程示例,操作步骤(续)右击窗体空白处 快捷菜单“事件生成器” “选择生成器”对话框 “代码生成器” 编写代码保存“窗体”为“面向对象程序设计示例一”右击窗体标题 快捷菜单“窗体视图”,2022/11/4,47,数据库应用,面向对象编程示例操作步骤(续)2022/10/947数据库应,面向对象编程示例,窗体Load事件代码,2022/11/4,48,数据库应用,Private Sub Form_Load() 将复选框默认值设置为选中状态。 Me.Check0.Value = True 将中文选项按钮默认值设置为选中状态 Me.Option2.Value = True 将英文选项按钮默认值设置为未选中状态 Me.Option4.Value = FalseEnd Sub,面向对象编程示例窗体Load事件代码2022/10/948数,面向对象编程示例,复选框Click事件代码,2022/11/4,49,数据库应用,这是对复选框进行编写程序,以确定窗体是否可以移动。Private Sub Check0_Click() 若复选框为未选中状态,则设置窗体不可移动。 If Me.Check0.Value = False Then Me.Moveable = False End If 若复选框为选中状态,则设置窗体可移动。 If Me.Check0.Value = True Then Me.Moveable = True End IfEnd Sub,面向对象编程示例复选框Click事件代码2022/10/94,面向对象编程示例,选项按钮“中文”Click事件代码,2022/11/4,50,数据库应用,这是对中文选项按钮编写程序,以确定窗体标题为中文。Private Sub Option2_Click() 选中“中文”选项按钮。 Me.Option2.Value = True 不选中“English”选项按钮。 Me.Option4.Value = False 设置窗体标题为中文。 Me.Caption = 面向对象程序设计示例End Sub,面向对象编程示例选项按钮“中文”Click事件代码2022/,面向对象编程示例,选项按钮“English”Click事件代码,2022/11/4,51,数据库应用,这是对英文选项按钮编写程序,以确定窗体标题为英文。Private Sub Option4_Click() 选中“Enlish”选项按钮。 Me.Option4.Value = True 不选中“中文”选项按钮。 Me.Option2.Value = False 设置窗体标题为英文。 Me.Caption = A Demonstration for Oriented-Object ProgramEnd Sub,面向对象编程示例选项按钮“English”Click事件代码,面向对象程序说明(归纳),构造界面设置对象属性编写事件代码,2022/11/4,52,数据库应用,面向对象程序说明(归纳)构造界面2022/10/952数据库,面向对象程序说明(归纳),构造界面,2022/11/4,53,数据库应用,面向对象程序说明(归纳)构造界面2022/10/953数据库,面向对象程序说明(归纳),设置对象属性,2022/11/4,54,数据库应用,面向对象程序说明(归纳)设置对象属性2022/10/954数,面向对象程序说明(归纳),编写事件代码,2022/11/4,55,数据库应用,面向对象程序说明(归纳)编写事件代码2022/10/955数,后面注意,不再给出窗体界面构造过程,仅给出窗体界面和界面控件对应的名称。不给出标签属性设置过程由于标签控件在窗体界面中仅起提示信息的功能修改标签提示信息的属性为“标题”属性。,2022/11/4,56,数据库应用,后面注意不再给出窗体界面构造过程,2022/10/956数,实例1,2022/11/4,57,数据库应用,构造界面,实例12022/10/957数据库应用构造界面,实例1,2022/11/4,58,数据库应用,构造界面,特别注意:(1) 每布局一个“文本框”对象,都将自动增加一个“标签”对象!(2)事件代码中的对象名称一定要与此处的对象名称保持一致。,实例12022/10/958数据库应用构造界面Text0La,实例1,2022/11/4,59,数据库应用,构造界面,实例12022/10/959数据库应用构造界面Text2La,实例1,2022/11/4,60,数据库应用,构造界面,实例12022/10/960数据库应用构造界面Text4La,实例1,2022/11/4,61,数据库应用,构造界面,实例12022/10/961数据库应用构造界面Text6La,实例1,2022/11/4,62,数据库应用,构造界面,实例12022/10/962数据库应用构造界面Text8La,实例1,2022/11/4,63,数据库应用,构造界面,Command10,实例12022/10/963数据库应用构造界面Command,实例1,设置对象属性,2022/11/4,64,数据库应用,实例1设置对象属性2022/10/964数据库应用对象实例名,实例1,编写事件代码,2022/11/4,65,数据库应用,Private Sub Command10_Click() Const pi = 3.14159 Dim r As Double, h As Double r = Val(Me.Text0.Value) h = Val(Me.Text2.Value) Me.Text4.Value = pi * r * r Me.Text6.Value = 2 * pi * r * h Me.Text8.Value = pi * r * r * hEnd Sub,实例1编写事件代码2022/10/965数据库应用对象名称对,实例2,2022/11/4,66,数据库应用,构造界面,实例22022/10/966数据库应用构造界面,实例2,设置对象属性,2022/11/4,67,数据库应用,实例2设置对象属性2022/10/967数据库应用对象实例名,实例2,编写事件代码,2022/11/4,68,数据库应用,Private Sub Text0_LostFocus() Dim a As Single a = Val(Me.Text0.Value) If a = 0 Then MsgBox (二次项系数A不能等于0!) Me.Text0.SetFocus End IfEnd Sub,实例2编写事件代码2022/10/968数据库应用对象名称对,2022/11/4,69,数据库应用,Private Sub Command10_Click() Dim a As Single, b As Single, c As Single Dim s As Double, x2 As Double a = Val(Me.Text0.Value) b = Val(Me.Text2.Value) c = Val(Me.Text4.Value) s = b * b - 4 * a * c If s 0 Then MsgBox (次方程无解!) Else x1 = (-b + Sqr(s) / 2 / a x2 = (-b - Sqr(s) / 2 / a Me.Text6.Value = x1 Me.Text8.Value = x2 End IfEnd Sub,2022/10/969数据库应用Private Sub Co,

    注意事项

    本文(VBA面向对象程序设计课件.pptx)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开