vb,一个不是完全面向对象的编程语言,相对于其它高级编程语言来说,在它上面,基于对象的编程应用更为泛。对于对象,只不过是类的实例化罢了,而类,是众多对象的抽象的一个庞大集合。类实例化对象,对象抽象成类。
在vb中,对象的使用非常广泛,列如我们将常用的窗体,以及各种控件,它们都是类的实例化结果。不过对象分为好几种,全局对象,引用对象,自定义对象等等,它们的具体使用方式也有些不同,下面我说一下他们的使用区别。
1. 常用对象:我们经常用的对象,拿个例子来说吧!command控件,也就是命令按钮。它可以直接再工具箱中拿出来我们直接用,在里面可以添加一些代码什么的,command控件是别人给我们编好的。我们可以直接用。
2 全局对象:对于全局对象,它是一个类的唯一的一个实例,我们在vb中拿出来也可直接使用,像一些常用对象一样。比如说App,Error对象等等。
3. 引用对象:对于引用对象和自定义对象来说,引用对象得先引用,然后再声明,创建,这样才可以使用,最后还得撤销,撤销的目的是将它从内存中释放掉。
4. 自定义对象:自定义对象是我们从类中自己定义的,它的使用先得从类中实例化出来,也就声明,然后创建,这样就能使用了,同引用对象,我们用完它之后也得撤销。
对于自定义和引用对象使用完之后我们还得撤销,那么撤销的目的是什么?上面我已经说了,就是将它们从内存中释放出来,试想,一台机器的内存是有限的,如果我们撤销它们,它们还会在内存中,当我们使用多了,占用内存事小,对象多了如果不释放很容易发生冲突,这时候会意外造成程序崩溃。
对与vb中的类,我上面说了,它是一些对象的抽象的集合,vb中的类也有很多,在这我只详细介绍自定义类。
自定义类与我们经常用的类从宏观上来比较的话没有多大的区别,它也有方法,属相,事件等等,但是它的使用就有点不同了。比如说,所有的窗体就是一种类——窗体类,在窗体中我们可以直接的使用它的属性,方法,事件,但是在自定义类中,它的属性需要我们自己写,事件需要自己定义。
在定义属性的时候我们用到了属性过程(Property),属性过程分为读属性过程和写属性过程,写属性过程中对于数值属性和对象属性的写入又是不同的,对象使用Set ,数值使用Let。
在我们经常在在模块或者窗体中定义的函数,它们可以直接接受窗体发来的消息,然后执行。而在自定义事件中,它需要一个中间体,这个中间体就是事件源变量,它负责接受消息,其实事件就是一种消息,当我们使用它的时候我们呢需要先将事件定义(Public Event),然后产生事件(RaiseEvent),将消息发送给事件源变量,事件源变量在这里大多数是一些对象,最后这些对象再将发来消息执行。
类保罗万象,万象归一就是对象。类是对象更高的含义,对象是类的最终的解释。