类和对象详解(类class及对象)

大家好,从这讲开始我们深入地讲解OOP中对象的相关内容,当然主要是针对类模块的内容进行讲解。对于OOP的概念,我们并不陌生,是Object Oriented Programming的一种简称,翻译过来就是面向对象编程或者面向对象的程序设计,这种设计基本原则是计算机程序由单个能够起到子程序作用的单元或对象组合而成。是以对象为核心,程序由一系列对象组成。

一 OOP编程中类和对象的关系

在这种思想指导下,就形成了类的概念。类是对现实世界的抽象,也就是我在之前经常提到的"魂",这种"魂"包括表示静态属性的数据和对数据的操作。而对象是类的实例化。对象间通过消息传递相互通信,来模拟现实世界中不同实体间的联系。也就有了我们的事件、过程等定义的描述。我们来看看对象和类两者的关系:

1 对象(Object) 我们先来看看对Object的解释,翻译过来的名词解释是"物体;目标;宾语;客体,对象"。可以看出,这个名称包含了多种的含义,在这里我们可以理解成,对象是可以做事情的一些东西。一个对象有状态、行为和标识三种属性。

2 类(class) 是一个共享相同结构和行为的对象的集合。这个定义虽然很抽象但并不难理解,从这个解释中也可以看出类是对象的"魂",对象是类的"肉身"这种解释。因为类(Class)定义了一件事物的抽象特点。通常来说,类定义了事物的属性和它可以做到的行为。举例来说,"老鼠"这个对象,会包含老鼠的一切基础特征,例如它的叫声、毛皮颜色、形状等特征。还可以定义老鼠的本能。我们把一个这些类的方法和属性被称为类"成员"。

类和对象详解(类class及对象)(1)

二 对象间相互关联组成一个特有的结构化体系

在 Excel对象模型时我们知道Application、Worksheet、Workbook、Range、Cell本身都是对象(Object),面向对象是一种代码构成模式, OOP过程中我们其实是根据各个对象之间的关联关系,通过调用不同对象的属性和方法来实现业务关系的逻辑。

例1,删除空白行的代码:

Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete

我们一步步地分析一下,上述代码中,对各个对象的属性和方法的调用过程:

① SpecialCells方法 通过这个方法,返回符合条件的区域,这个区域是Range对象。

② Range对象的EntireRow属性 这个属性返回 Range对象,这个对象是获得的当前单元格所在整行的所有单元格。

2 Range对象的Delete方法 这个方法是将所在行删除,以实现所期望的功能。

由此我们看出此时通过EntireRow属性,将Range与Row关联起来,从而达到我们的目的。

类和对象详解(类class及对象)(2)

我们在书写VBA代码时要多利用上述对象属性和方法的提示来书写,可以提高我们代码的准确性。上面的截图中有手形状的是对象的属性,书的形状是对象的方法。

今日内容回向:

1 什么是类?什么是对象?

2 类和对象两者的关系是怎样的?

3 对象是如何完成自己特定业务的?

类和对象详解(类class及对象)(3)

在取代OFFICE新的办公软件没有到来之前,谁能在数据处理方面做到极致,谁就是王者。其中登峰至极的技能非VBA莫属!众鸟高飞尽,孤云独去闲。相看两不厌,只有敬亭山。

学习VBA是个过程,这个过程是自己忍受孤独的过程。

"水善利万物而不争",你看她绵绵密密,微处则无声,巨则汹涌。学习亦如此,把握现在,为达千里,需要默默耕耘,知道什么是自己所需要的,不要蜷缩在一小块自认为天堂的世界里,待到暮年时去自欺欺人。要在当下,用一颗充满生机的心灵,努力提高自己,这才是进取。越是有意义的事情,困难会越多。愿力决定始终,智慧决定成败。不管遇到什么,都是风景。看淡纷争,看轻得失。一杯茶,满也好,少也好,不要去计较;浓也好,淡也好,其中都有值得品的味道。去感悟真实的时间,静下心,多学习,积累福报。而不是天天混日子,也不是天天熬日子。一切众生的心都在变化,像时间一样,永远不会停留,把握现在就是福报。

VBA是利用Office实现自己小型办公自动化的有效手段,我记得20年前自己初学VBA时,那时的资料甚少,只能看源码自己琢磨,真的很难。20年过去了,为了不让学习VBA的朋友重复我之前的经历,我根据自己多年VBA实际利用经验,推出了五部VBA专门教程,回向给需要学习的朋友:

第一套:VBA代码解决方案 是VBA中各个知识点的讲解,覆盖绝大多数的VBA知识点,初学必备;

第二套:VBA数据库解决方案 数据库是数据处理的专业利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法和实例操作。

第三套:VBA数组与字典解决方案 数组和字典是VBA的精华,字典是VBA代码水平提高的有效手段,值得深入的学习。

第四套:VBA代码解决方案之视频 是专门面向初学者的视频讲解,可以快速入门,更快的掌握这门技能。

第五套:VBA中类的解读和利用 这是一部高级教程,讲解类的虚无与肉身的度化,可以对促进自己理论的提高。

学习的过程也是修心的过程,修一个平静的心。在代码的世界中,心平静了,心情好了,身体自然而然就好。心静则正,内心里没有那么多邪知邪见,也就没有那么多妄想。在平静中积累自己的财富。我的上述教程是我多的经验的传递,大家可以根据1,3,2,5或者是4,3,2,5的顺序逐渐深入的逐渐学习。

类和对象详解(类class及对象)(4)

最后将一阙词送给致力于VBA学习的朋友:

浮云掠过,暗语无声,

唯有清风,惊了梦中啼莺。

望星,疏移北斗,

奈将往事雁同行。

阡陌人,昏灯明暗,忍顾长亭。

多少VBA人,

暗夜中,悄声寻梦,盼却天明。

怎无凭!

分享成果,随喜正能量

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页