uu236视讯聊天室_类与对象的解析

“VBA中类的解读和应用”教程是我发表的第五套教程,现在是第一版的修订。这个教程位于最高水平,是学习初级、中级后的教程。

类,非常抽象,值得研究。随着我们学习和应用VBA的深入,我们需要了解这些抽象的理论知识。对象,类,过程,方法,属性,事件,接口,接口如何实现等等。掌握这些理论,不仅深刻理解VBA这种寄生语言的本质,还深刻理解自然界的很多东西。目前,这套教程程序文件已经通过32位,64位两种office系统测试。

这套教程共两册,八十四讲,今后一段时间会给大家陆续推出修订后的教程内容。今日的内容是第1讲:类与对象的解析。

第一讲 什么是类,什么是对象

大家好,在我之前的教程中分别讲了“VBA代码解决方案”“VBA数据库解决方案”“VBA字典和数组解决方案”,通过对这三套教程的学习,我们对VBA的基本知识和基本的操作能有了一定的了解。这个教材是以前的教材为基础的说明,希望在学习以前的教材的基础上学习这个教材。这个教程说明了VBA的高级内容:VBA中级的解释和应用。今天的内容首先是什么类别,什么是对象。

1.什么是类

类是对象的“灵魂”。对象什么都可以,类别什么都不做,内存也不占有。只有当类别成为对象,使用Set语句和New关键词实例成为具体对象后,才能工作,uu236视讯聊天室占有内存。

将类实例化为具体对象的语法为

DimCasclasclasclassclasclassclassclasclassclassclassclassclassclassclass其特点是:

1)使用New关键字,可以创建任何数量类别的新例子,uu236视讯聊天室可以存储在Collection对象中。

2)使用PropertyLet、Set、Get语句,可以制作代码来验证给予类要素的值,可以制作变更值时执行的对应代码。例如,可以编写代码以确保某个值为要求的特性。

3)类可以定义方法(使用Sub过程和Function过程),执行某个动作。

注意点:类别与用户定制类型的不同,以下提供定制数据类型的特点,显然可以看出两者的不同:

1)编译时必须声明所有定制类型的变量。可以使用动态数组处理多种定制类型,但必须使用Redimpreserve关键词。

2) 不能在运行时添加新的自定义类型变量。

3) 不能控制赋给自定义类型中元素的值。如只能定义为整数,但假如要求是大于5的值无法进行控制。

4)自定义类型只是静态存储数据。

2是什么类型的模块,类型属性和方法

类型的模块由属性和方法构成,类型本身与名词相似的属性可以作为形容词来描述类型的方法是动词,实行操作

3类型和对象的比较

让我们先来看一下非常简单的程序。uu236视讯聊天室让我们亲身体验一下的山的真面:

3类型的第2类型和对象。

3)ActiveSheet前面有另一个对象ActiveWorkbook,指定哪个工作薄,

4)ActiveWorkbook前面有Application,指定哪个应用程序。

其中的Value是什么?Value是Range("A1"这个对象的属性。那是从哪里来的呢?它是由Range类界定的。range是类型还是对象?别着急,我想慢慢说明,通过我的说明理解类别和对方的关系。

在上述说明中,提到实例类为具体对象的过程,实际上mynzclass_1引用了Range类,实例类后修改了其属性。在例子中,我们只是隐藏了这一切,直接对一个物体进行Range("A1")修改它的属性,但Range("A1"这个物体只是引用了Ragne这个类别,具有Range这个属性"Value"

我们将上述代码转换为:

Subynclass1_>

是的,这就是类别。它是通过对象的方式展现在我们的面前,让我们无时无刻不与之交流,却又常常在不经意间忽视了它的存在。

现在,再回到mynzclass1_1去看,就会很容易的发现,ActiveSheet实际引用了Worksheet类、ActiveWorkbook引用了Workbook类,而Application则引用了和它同名的Application类(这也正是我们会经常被混淆的一个概念,一个对象可以和被它所引用的类同名),原来我们在短短一个赋值的语句中,已经在与这么多的类打交道。

那我们又要怎样来区分类和对象呢?事实上,他们经常成对地出现在我们面前,只有一个是可见的,另一个是隐藏的。我们可以这样理解类别和对象。类别是概念和定义,每个类别都有自己的特征和行为方式,对象是某个类别的例子。所以类别是对象的灵魂,无处不在,uu百星王者聊天但看不见。

如汽车。作为类别,汽车的定义有4个或4个以上的轮子,人可以坐在上面,操作行走的工具。此时,汽车类有自己的属性。例如,汽车的前轮(负责转向)。汽车的前玻璃(负责挡风)等。这里的汽车是概念抽象的概念。

我们通常指的是丰田汽车,是汽车类的大对象,这个大对象中有威驰FS的对象,属性:轮子是某个品牌,前挡风玻璃是某个品牌。这些就是很具体的属性值了。

今日内容回向:

1 什么是类?

2 类和对象的联系是什么?

本文内容参考程序文件:VBA-CLASS(1-28).xlsm

学习是自我提高的过程,也是自我修行的过程。学,总会有收获。生命向前,没有达不到的远方。【分享成果,随喜正能量】每个人都希望好,心里想着美丽,但现实的职场充满考验,考验每个人信念的储备和知识的储备,考虑准备的必要时,雨容易成为伞。我20多年的VBA实践经验,都浓缩在以下教程中,教程学习顺序:

①7→1→3→2→6→5或7→4→3→6→5。

各教程内容介绍:

第七套教程(共三本):“VBA的EXCEL应用程序”:VBA的基本解释

发表评论

您的电子邮箱地址不会被公开。