vb.net 定义变量 ,类型,对象问题?

2024-11-24 07:02:10
推荐回答(2个)
回答1:

在.NET中,对象和结构还是有些不同的,定义方式也是其中之一。
像整型、字符串和一些数值类型都属于结构。结构只需要这样定义就可以了:
Dim str As String
系统自动分配内存,然后就可以对它进行访问了。

如果像这样声明普通类:
Dim cla As Class
此时直接访问cla类成员会引发一个null异常。因为你仅仅声明了cla的类型(cla是Class类型的),而内存中没有一个真正的对象(类的实例)。如果你需要一个实例,就需要用New关键字,例如:
Dim cla As New Class("some words")
这时系统会建立一个Class对象,并将cla指向这个对象。这样就完成了一次实例化。这时就可以直接访问cla的成员了。
在实例化时,系统会调用对象的New函数,即构造函数。后面括号里的内容并不是对象的属性,而是要传递给这个构造函数的参数。至于对象的构造函数是否需要参数、需要多少参数以、参数的类型及重载情况等,取决于要实例化的类型。

上面的Class只是例子,代换成实际的类即可。

回答2:

dim本身就表示定义某一个类型的变量的。这个类型,包括简单的预定义类型,也包括自定义类型,比如类,数组等等所有类型,只要在一个项目中可见的类型都可以定义。

使用new当然就是定义的时候实例化 这个类型,这时变量已有具体的内存对应。

类,类似于C里的结构体,但是可以做到继承、抽像等面向对象的特性。结构体和类都需要new来实例化。

你可以看一下面向对象编程方面的知识。