1 / 101
文档名称:

vb对象编程相关.doc

格式:doc   页数:101页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

vb对象编程相关.doc

上传人:xxj16588 2016/7/7 文件大小:0 KB

下载得到文件列表

vb对象编程相关.doc

相关文档

文档介绍

文档介绍:与对象有关的术语下面是一些快速浏览的术语,在讨论 Visual Basic 的对象及其功能时会遇到。如果是从其它程序设计语言或者从使用 ActiveX (从前称为 OLE )术语转到 Visual Basic ,那么这些主题对实现转换是有帮助的。若是刚开始接触对象,可能会感到有点混乱。这是正常的,通过对将要遇到的这些术语的快速浏览,就会对它们如何互相配合有个大概了解。随着在本章其余部分接触更多的有关对象的信息,再回头浏览这些主题,就能将各部分零散的信息形成一个总体。由此开始对象是被封装的-也就是说,它同时包含其代码和数据,这比传统的编写代码方法更容易维护。 Visual Basic 对象具有属性、方法和事件。属性是描述对象的数据。方法告诉对象应做的事情。事件是对象所产生的事情,事件发生时可以编写代码进行处理。在Visual Basic 中,对象是由类创建的,因此对象被说成是类的一个实例。类定义对象的界面,不管对象是否是公共的和在什么环境下建立的都是这样。类的描述保存在类型库中,而且通过对象浏览器可以查看。为了使用对象,必须在对象变量中保存其引用。绑定的类型决定使用对象变量访问对象方法的速度。对象变量可以是后期绑定(最慢),或者是事前绑定。事前绑定可以是 DispID 绑定或者 vtable 绑定(最快)。属性和方法的集合称作界面。Visual Basic 对象的缺省界面是支持所有三种绑定窗体的双重接口。如果对象变量已经声明了类型(即Dim ... Asclassname ), 它将使用最快的绑定窗体。除缺省界面外, Visual Basic 对象能够为实现多态提供额外的界面。多态可以操作不同种类的对象,而不用担心每个对象是什么类型。多界面是部件对象模型(COM) 的一个特征,它允许展开过时的程序,添加新功能而不需拆散老代码。 Visual Basic 中的类也可以是数据识别的。通过直接绑定到一个外部数据源, 类可以作为数据使用者,或者通过从一个外部源提供数据,,它还可以作为其他对象的数据源。步入和谐的大厅如果对所有这些似乎已经很熟悉了,那么可浏览本章的其余部分。如果不熟,也不必担心,所有这些术语的说明都有策略地分布在本文中(并不是很凌乱地出现)。找出对象所属的类通用对象变量(即,用 AsObject 声明的变量)可以保持许多不同类的变量。同样,用 Visual Basic 内建的 Form 和Control 类型声明的变量可以包含不同类的窗体和控件。在使用这些变量时,可能要根据对象的不同类而采取不同的操作—例如,某些对象可能不支持个别的属性和方法。Visual Basic 提供了两种方法:TypeOf 关键字和 TypeName 函数。 TypeOf 关键字只能用在 If... Then ... Else 语句中。必须在代码中直接包含类名。例如, IfTypeOf MyControl IsCheckBox 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 。该应用程序中有两个 TextBox 控