VB⼊门(5):类~成员和⽅法类,就是种类的类。这⾥以“⼈”为例简单介绍⼀下VB⾥⾯类是怎么写的。
定义⼀个类是这样的:
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中的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
writeline方法属于类
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的成员的值,只会出现错误。
下⾯是对VB中⾯向对象语法的进⼀步介绍:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。