类,就是种类的类。这里以“人”为例简单介绍一下VB.net里面类是怎么写的。
定义一个类是这样的: public class Human end class
类是有成员的。比如一个人的姓名、性别、身高都是这个人的成员。 public class Human public Name as String public Gender as String public Stature as integer ''''我们假设身高以厘米为单位 end class
类是有方法的。比如一个人要吃东西,要睡觉,生病了还要看医生。 public class Human public Name as String public Gender as String public Stature as integer public sub Eat() end sub public sub Sleep() end sub public sub SeeADoctor() end sub end class
方法有时候需要返回东西。比如生小孩: public function Born() as Human return new Human end function
嗯……不对,应该这样写: public function Born() as Human if Gender = "女" then return new Human else return nothing ''''VB.net中的nothing就像C++中的NULL,表示什么都没有。 end if end function
只有女人才能生小孩嘛。 到这里你可能想要一个完整的代码例子。代码如下: imports System
public module MyModule sub Main dim LaoWang as Human LaoWang = new Human LaoWang.Name = "老王" LaoWang.Gender = "男" LaoWang.Stature = 177 Console.writeline("{0}, {1}, 身高{2}厘米", _ LaoWang.Name, LaoWang.Gender, LaoWang.Stature) dim XiaoWang as Human = LaoWang.Born() Console.Read end sub end module
public class Human ''''这里是Human类的定义 public Name as String public Gender as String public Stature as integer public sub Eat() end sub public sub Sleep() end sub public sub SeeADoctor() end sub public function Born() as Human if Gender = "女" then return new Human else return nothing end if end function end class
在这里,LaoWang是一个Human对象的引用,这个Human对象的Name成员 便是“老王”。这里所谓引用,和工程中的引用不一样,这个是变量的引用。跟C中的指针有些类似,你甚至可以说,LaoWang是一个指向某个Human对象的变量,这个对象的Name成员便是“老王”。
我们又定义了一个变量叫XiaoWang(小王?)。但是LaoWang是男的,LaoWang.Born返回的是Nothing。也就是说,XiaoWang什么都不是。虽然存在XiaoWang这个变量,但是这个变量不指向任何对象。就好比我现在在说老王、小王什么的,但我身边并没有什么人叫做老王小王。如果我喊一声“老王,吃饭了!”,没有人会应。这个时候想取得XiaoWang的成员的值,只会出现错误。
|