我爱Aspx >> VB.Net >> 走近VB.Net(一),VB中的族,类,对象(摘录部分MSDN)走近VB.Net(一),VB中的族,类,对象(摘录部分MSDN)
.Net(一),VB中的族,类,对象
VB.Net是面向对象(object-oriented)的,又称为物件(object)导向(oriented)。在VB.Net中所有的变量类型都是基于object,而不是VariantDim x As Variant 会被升级为 Dim as object。如果你不理解对象,暂时你可以把他理解为一段数据,他是实际存在于内存的,所以对象以称为实例(instance)而类(class)就是类别,他定义一群对象,是一个对象的群体,并定义方法成员。所以类只是一个定义,只有在被声明为实例的对象(object instance)时才能具体 的调用。 你在调用其他的类成员时,弹出错误的对话框要求“object instace”,是因为没有声明一个实例的对象,你用类似声明变量的方法声明他们。如:dim formN as new form2 调用form2的成员方法new建立了一个对象的实例。你添加了一个窗体而并不能在程序中显示出来,是作为一个类,它并不实际存在。而现在使用formN.visible=true 就可以象以前一样调用,所以条条大路通北京。只是一个概念的转变,VB在幕后还是以前的VB。这个可能有人会反驳我反VB的变量称为对象,如果你把变量作为一个指针,不如把他看作一个变量 如:dim s as string :dim in as integer :in=123:s=in.tostring(注意VB用“:” 示换行)。In是一个变量,在基于integer的类中已定义了tostring的方法。在现在的VB中所有的方法都以这种方式内嵌于不同的类。甚至包括所有的API。虽然VB仍然支持象以前一样地使用API,除了常用的32位数据类型long应被换为integer(MSDN中称32位是最快的 )。你会感觉不方便,甚至不能达到目的。这是因为VB.Net认为你不可能再使用API,而只有形式上的支持。
在VB.Net中引入了“族”的的术语,即namespace,一般译为名称空间,思考了几个小时,我个人认为在Net中应该译为族比较合适,名字的集合示意在于对象的空间,族适用于任何对象的空间,在万事万物皆比族而分,在人亦如此。故有“非我族类,其心必异” 之语。族不离类,类不离族,族居类之上。大家可以斟酌一下,看是不是有些道理。
【我对这篇文章有话说?】
VB.Net中文教程(1) 类别与封装性[05-20]
VB.Net中文教程(2) Composite样式[05-20]
VB.Net中文教程(3) 继承与封装性[05-20]
VB.Net中文教程(4) 类别继承(Inh..[05-20]
VB.Net中文教程(5)程序多重定义[05-20]
VB.Net中文教程(6) 母子对象关系[05-20]
VB.Net中文教程(7) Me参考值[05-20]
VB.Net中文教程(8) 对象(Object)..[05-20]
VB.Net中文教程(9) 重新定义(Ove..[05-20]
VB.Net中文教程(11) Prototype样..[05-20]
VB.Net中文教程(1) 类别与封装性[05-20]
VB.Net中文教程(2) Composite样式[05-20]
VB.Net中文教程(3) 继承与封装性[05-20]
VB.Net中文教程(4) 类别继承(Inh..[05-20]
VB.Net中文教程(5)程序多重定义[05-20]
VB.Net中文教程(6) 母子对象关系[05-20]
VB.Net中文教程(7) Me参考值[05-20]
VB.Net中文教程(8) 对象(Object)..[05-20]
VB.Net中文教程(9) 重新定义(Ove..[05-20]
VB.Net中文教程(11) Prototype样..[05-20]