您的位置  > 互联网

程序员都是单身狗,根本没有对象啊?

看到标题你可能要问,我们不是约定好了要讲VBA的吗? 我们如何获得对象? 再说了,程序员都是单身,根本就没有伴侣吧? 面向对象到底是什么?

虽然A哥花了很多时间学习VBA,但是面向对象的概念其实是A哥最近在学习的时候深刻理解的。 今天我们暂时不讲VBA。 A哥讲讲编程中的思维方式。

面向对象和面向过程

事实上,与面向对象相对应的,还有面向过程的方式。 术语总是非常繁琐且难以理解。 我们先通过一个案例来看看这两种想法的区别。

比如,小明以每小时10公里的速度跑20公里需要多长时间?

很简单,我们直接在Sub中写就可以了

v= 10 : dist: = 20
t = dist/v

然后,我们问,小明跑30公里需要多长时间?

这时候我们自然会想,总不能每次给一个速度和距离就重写一般的代码吧,定义一个函数就可以了! 然后:

Function timing(ByVal v As Double, dist As Double) As Double
timing = dist / v
End Function
Sub run()
Debug.Print timing(10, 25)
End Sub

上一段中,我们定义了一个函数,并调用这个函数来计算时间。 这是一种面向过程的思维方式,更注重解决问题的过程,更接近我们日常的思维过程。

面对上面的问题,还有另一种思路:

小明作为人类实例,自然具有人类的属性和方法,可以直接调用定义的属性和方法。

比如输入小明.eat,就可以操作小明吃饭。

这是一个典型的面向对象的思维过程。 总结起来就是:

定义类→定义属性和方法→实例化→调用属性和方法。

面向对象的编程方法最大的优点就是可以使程序的后期维护变得简单。 由于这是超类内容,我们暂时不展开。

当我们谈论 Excel 中的面向对象时,我们在谈论什么?

事实上,在 Excel 中,对象无处不在。 A哥想帮助大家从程序维度理解Excel。 在Excel中,我们有3个常见的对象:

每个对象都有不同的属性。 例如,细胞本身就包含以下共同属性:

当然,对象也与其方法相对应。 例如,在工作表上我们可以执行以下操作:

对象、属性和方法是 Excel VBA 中的主线程。 对Excel的任何操作都离不开这个基本框架,这也是为什么A哥要单独写一篇文章来解释这一点。 掌握这个思想对于我们快速学习VBA是极其有帮助的。

在接下来的学习中,我们会接触到Excel的各种对象,A哥也会沿着这个主线给大家讲解一下。

综上所述