VBA面向对象程序设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2019/3/18
数据库应用
4
对象示意图
对象 消息 接口 方法或事件 属性
2019/3/18
数据库应用
5
组合框对象的方法
2019/3/18
数据库应用
6
2. 属性
属性用来刻画对象所具备 的特性, 属性具有属性名和属性值 两个部分。
例如江华的籍贯为“江西赣 州”
“江西赣州”为学生“江华” 的籍贯属性取值
2019/3/18
数据库应用
16
类
在面向对象系统和程序中,具有相同结构 和功能的对象一般用类进行描述,并把一 个特定对象称为其所属类的实例。 类描述的是具有相同属性和方法(或事件) 的一组对象。
2019/3/18
数据库应用
17
类的例子
例如:江华和杨阳都是学生,即他们是 “学生”类的实例,他们都具有“学号”、 “姓名”等属性,同时都具有“注册学 籍”、“选修课程”等操作方法。 为此面向对象方法中提出将具有相同属性 和方法(或事件)对象抽象到类的方法, 即类是对象的抽象,而一个具体对象是某 个类的实例。
对象 属性 方法和事件 接口 消息 类
2019/3/18
数据库应用
3
对象
对象就是现实或抽象世界中具有明确含义 或边界的事物。 例如学生“江华”就是一个对象。 对象是属性和方法(或事件)的封装体。
VBA包括:窗体、命令按钮、组合框等对象。 这些对象用来构成与用户交互的界面元素
2019/3/18
数据库应用
7
属性
属性取值不同,可以使对象具有不同的状 态。
对图形化界面中的命令按钮来说,属性用来控 制其显示的特性,
例如“标题”属性的取值为“确定”,决定命令按 钮上显示的文字为“确定”。 命令按钮的“可用”属性决定命令按钮是否有效
2019/3/18
数据库应用
8
命令按钮部分属性
2019/3/18
数据库应用
14
5. 消息
消息实现了对象间的交互。 一个对象通过接口向外界公布其提供的属性和 方法(或事件),其他对象通过发送一个特定 的消息来与这个对象进行交互,可能有结果返 回到发送消息的对象,也可能没有结果返回发 送消息的对象。 消息的描述除了和对象公布的属性和方法(或 事件)有关外,它还有特定的格式。 例如:
Application.<上一级对象>!<下一级对象>.属性名 = 值
数据库应用 15
2019/3/18
6. 类
在面向对象程序设计中,为提高程序代码 的重用,一个特定对象的属性和方法(或 事件)由一个特定类来定义。 类可以视为生产多个具有相同属性和方法 (或事件)的对象模板。 一般利用类来组织相似的多个对象。
即通常不存在一条语句来说明事件被调用。事 件的调用或触发是由用户的操作来实现的,这 被称为事件驱动。
2019/3/18
数据库应用
11
事件例子
例如:命令按钮上存在鼠标的单击事件, 当用户使用鼠标指向该命令按钮并单击鼠 标左键时,将触发在命令按钮上单击事件 中预先编写的代码。
2019/3/18
数据库应用
2019/3/18
数据库应用
24
4. 对象的自治性
由于对象是属性和方法(或事件)的封装 体。 对象状态的改变是由该对象自身实施的。 即其他对象通过发送消息,请求一个对象 改变其状态,该对象的状态是否改变取决 于该对象当前的状态,在某些状态下可能 无法改变该对象的状态,这称为对象的自 治性。
数据库应用 18
2019/3/18
类的例子
由于类与对象使用相同的描述方式,即都 具有属性和方法(或事件)。这使得类、 对象的概念容易混淆。
“学生”是一个类 “学生A”则是“学生”类的一个对象。
在面向对象概念中,类是对象的抽象,对 象是类的实例。
2019/3/18
数据库应用
19
9.1.2 类或对象的特性
2019/3/18
数据库应用
9
3. 方法和事件
方法(或事件)是对象具有的某种处理功 能,在程序代码上表现为一个程序过程。 例如学生“江华”的“注册学籍”、“选 修课程”操作就是学生对象具有的方法。
2019/3/18
数据库应用
10
方法和事件不同之处
对象的方法调用是使用特定格式的显式调 用。 事件的调用方式是隐式的。
12
命令按钮具有的事件
通常一个对象包括很多事件,命令按钮具 有的事件。
2019/3/18
数据库应用
13
4. 接口
接口是对象的特殊属性和方法(或事件), 它表示一个对象为其他对象提供的服务。 这些服务包括一个对象向其他对象公开的 属性和方法(或事件)。 一个对象接口中的属性和方法(或事件) 为其他对象所知道,故其他对象通过发送 消息到该对象来实现对象间的交互。
2019/3/18
数据库应用
21
对象Βιβλιοθήκη Baidu标识性示例
左侧选中的复选框名称为Check0 名称“Check0”被用来标识左侧的复选框 对象。
2019/3/18
数据库应用
22
2. 类或对象的封装性
类(或对象)的封装性表现在对象将属性 和方法(或事件)封装在对象中。 对象封装的好处是可以隐藏对象内部的实 现细节,即所谓的信息隐蔽原则,也可以 理解为黑箱。
对象的可标识性 类或对象的封装性 对象的状态性 对象的自治性 类的继承性
2019/3/18
数据库应用
20
对象的可标识性
每个对象实例都有标识自己的名称(Name) 或标识号(英语为Identifier,简写为ID)。 例如,如果图章具有自动改变序号功能, 则每个实例化出来的图章印,虽具有相同 的属性和操作,但它们具有不同的标识 号——序号不同。
只关心它提供的功能,不关心对象的功能是如 何编写实现。 可以杜绝由于某个对象的方法(或事件)改变 对其他对象的影响,通过独立的分治原则可以 减低问题的复杂性。
数据库应用 23
2019/3/18
3. 对象的状态性
对象的状态性是通过给对象的属性赋值来 表现的。 即对象的取值不同,对象就处于不同状态。 例如,命令按钮是否可用。
第9章VBA面向对象的程序设计
面向对象的基本概念
VBA面向对象的方法
面向对象的系统观
不同于结构化程序设计思想,基于面向对 象的系统观认为,一个系统是由若干对象 和这些对象间的交互构造而成。 面向对象系统观反映了基于面向对象的方 法如何构造软件系统。
2019/3/18
数据库应用
2
9.1.1 面向对象核心概念