- 1、本文档共101页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
vb6面对对象编程经典技术教程指南(推荐)
前言:相关术语
下面是一些快速浏览的术语,在讨论 Visual Basic 的对象及其功能时会遇到。如果是从其它程序设计语言或者从使用 ActiveX(从前称为 OLE)术语转到 Visual Basic,那么这些主题对实现转换是有帮助的。
若是刚开始接触对象,可能会感到有点混乱。这是正常的,通过对将要遇到的这些术语的快速浏览,就会对它们如何互相配合有个大概了解。随着在本章其余部分接触更多的有关对象的信息,再回头浏览这些主题,就能将各部分零散的信息形成一个总体。
由此开始
对象是被封装的- 也就是说,它同时包含其代码和数据,这比传统的编写代码方法更容易维护。
Visual Basic 对象具有属性、方法和事件。属性是描述对象的数据。方法告诉对象应做的事情。事件是对象所产生的事情,事件发生时可以编写代码进行处理。
在 Visual Basic 中,对象是由类创建的,因此对象被说成是类的一个实例。类定义对象的界面,不管对象是否是公共的和在什么环境下建立的都是这样。类的描述保存在类型库中,而且通过对象浏览器可以查看。
为了使用对象,必须在对象变量中保存其引用。绑定的类型决定使用对象变量访问对象方法的速度。对象变量可以是后期绑定(最慢),或者是事前绑定。事前绑定可以是 DispID 绑定或者 vtable 绑定(最快)。
属性和方法的集合称作界面。Visual Basic 对象的缺省界面是支持所有三种绑定窗体的双重接口。如果对象变量已经声明了类型(即 Dim ... As classname),它将使用最快的绑定窗体。
除缺省界面外,Visual Basic 对象能够为实现多态提供额外的界面。多态可以操作不同种类的对象,而不用担心每个对象是什么类型。多界面是部件对象模型 (COM) 的一个特征,它允许展开过时的程序,添加新功能而不需拆散老代码。
Visual Basic 中的类也可以是数据识别的。通过直接绑定到一个外部数据源,类可以作为数据使用者,或者通过从一个外部源提供数据,,它还可以作为其他对象的数据源。
步入和谐的大厅
如果对所有这些似乎已经很熟悉了,那么可浏览本章的其余部分。如果不熟,也不必担心,所有这些术语的说明都有策略地分布在本文中(并不是很凌乱地出现)。
找出对象所属的类
通用对象变量(即,用 As Object 声明的变量)可以保持许多不同类的变量。同样,用 Visual Basic 内建的 Form 和 Control 类型声明的变量可以包含不同类的窗体和控件。
在使用这些变量时,可能要根据对象的不同类而采取不同的操作—例如,某些对象可能不支持个别的属性和方法。Visual Basic 提供了两种方法:TypeOf 关键字和 TypeName 函数。
TypeOf 关键字只能用在 If ... Then ... Else 语句中。必须在代码中直接包含类名。例如, If TypeOf MyControl Is CheckBox Then。
TypeName 函数更灵活些。代码中到处可以使用,并且因为它用字符串返回类名,所以可将它与一字符串变量的值相比较。
使用字符串名调用属性和方法
大多数情况下,您可以在设计时发现对象的属性和方法,并且编写代码以处理它们。但是,在少数情况下,您可能不知道某个对象的一些高级属性和方法,或者,您可能只是想要这种灵活性,即允许最终用户在运行时指定属性或执行方法。
例如,请考虑下面的情况,某个客户端应用程序,它通过传递一个运算符到服务器程序来计算由用户输入的表达式。现在,假定您要经常性地向需要新运算符的服务器添加新函数。那么,不幸的是,在客户端应用程序能够使用新的运算符之前,您需要重新编辑和重新发布它。为了避免这种情况,可以使用 CallByName 函数把新运算符当作字符串来传递,而不需要更改应用程序。
CallByName 函数允许您使用一个字符串在运行时指定一个属性或方法。CallByName 函数的用法如下:
Result = CallByName(Object, ProcedureName, CallType, Arguments())
CallByName 的第一个参数包含要对其执行动作的对象名。第二个参数,ProcedureName,是一个字符串,包含将要调用的方法或属性过程名。CallType 参数包含一个常数,代表要调用的过程的类型:方法 (vbMethod)、property let (vbLet)、property get (vbGet),或 property set (vbSet)。最后一个参数是可选的,它包含一个变量数组,数组中包含该过程的参数。
假定您有一个服务器应用程序,MathServer,并且它具有一个新的函数 SquareRoot。该应用程序中有两个 Tex
您可能关注的文档
- 2007-2009年高考生态试题分析游隆信.doc
- 植物对水分的吸收和利用说课-王明涛.ppt
- 2011政法干警经典心得备考指导.doc
- 滑铁卢大学EFAS.doc
- 导游资格考试现场面试要注意的几个细节.doc
- 面向知识经济时代会计发生的变化.doc
- 2013春北师大一下-6.跳伞表演-练习.doc
- 工商学院论文时间及格式要求.doc
- 国民经济中的基本建设.ppt
- XXXXX监控项目集成服务合同.doc
- 排水防涝及配套管网设施项目可行性研究报告写作模板-拿地申报.doc
- 生活垃圾收转运系统设施设备更新改造项目可行性研究报告写作模板-备案审批.doc
- 2025 届四川省成都市石室中学高三下学期二诊模拟考试历史试题.docx
- 广东省深圳市福田区红岭中学 2024 - 2025 学年高一下学期期中考试英语试题 (2).pdf
- 四川省广安中学 2024-2025 学年高二下学期第二次月考英语试题.pdf
- 广安市现代实验中学 2024-2025 学年高一下学期 4 月月考英语试题.pdf
- 四川省内江市第一中学 2024-2025 学年高一下学期期中考试英语试题.pdf
- 江苏省南京市南京师范大学附属中学 2024-2025 学年高二下学期期中考试英语试题.pdf
- 江苏省南京市南京师范大学附属中学 2024-2025 学年高二下学期期中考试英语试题.docx
- 2025 届云南省腾冲市第八中学高三下学期第三次全真模拟测试历史试卷.docx
最近下载
- 四川省(蓉城名校联盟)新高考2022级高三适应性考试数学试卷(含答案).pdf
- 水利监理质量控制体系.doc
- [五年级英语下册.doc VIP
- 《江西省宜春市明月山机场航站楼装修工程》投标技术标文件.doc
- GB_T 15114-2023 铝合金压铸件.docx
- 2021年第四期1+X建筑信息模型(BIM)职业技能初级实操题(三).pdf VIP
- 【最全】usedtodo,beusedtodoing用法辨析及练习(带答案).pdf VIP
- 财务报表审计模拟实训第六版刘雪清答案.pdf
- 广东省广州市天河区2020-2021学年八年级下学期期末考试英语试题(word版 含答案).docx VIP
- 招投标法律法规学习培训PPT.pptx VIP
文档评论(0)