VB.NET笔记(1)类、属性、函数
2004-06-29 09:15
489 查看
[align=center]VB.NET 对象[/align]
[类]:同种事物的抽象化、模板化。
[实例]:类的一个具体形式。
------------
属性、方法、事件。
[属性]: Properties 描述类的某特征的名词,如:牛(一个类) --> 牛眼睛的颜色 & 牛的耳朵轮廓 ... ...
[方法]: Methods 描述类的自身所具有的功能/行为的动作,动词。如:牛(一个类) --> 产牛奶 & 鸣叫 ... ...
[事件]: Event 描述类的实例受到外界的作用而响应的动作,动词。如:牛(一个类) --> 挤牛奶(被动产奶) & 牛需要休息(因为时间作用使牛疲劳) ... ...
-----------
创建类
下面是一个完整的例子。 <%@ Page Language="VB" %>
<script runat="server">
Public Class Person '类名: Person
Public Sub New() '初始化类
End Sub '声明类内部变量的数据类型
Private _Name As String
Private _Age As Integer
Private _EyeColor As String '定义 Name 属性
Public Property Name As String
Get
Return _Name
End Get
Set (ByVal Value As String)
_Name = Value
End Set
End Property '定义 Age 属性
Public Property Age As Integer
Get
Return _Age
End Get
Set (ByVal Value As Integer)
_Age = Value
End Set
End Property '定义 EyeColor 属性
Public Property EyeColor As String
Get
Return _EyeColor
End Get
Set (ByVal Value As String)
_EyeColor = Value
End Set
End Property
End Class '结束类定义 '页面加载 Sub Page_Load(Sender As Object, E As EventArgs)
Dim myPerson As New Person() '首先,要初始化类属性值
myPerson.Name = "Susan"
myPerson.Age = "25"
myPerson.EyeColor = "Blue"
Name.Text = myPerson.Name
Age.Text = myPerson.Age
EyeColor.Text = myPerson.EyeColor
End Sub
</script>
<html>
<head>
</head>
<body>
<form runat="server">
Name: <asp:Label runat="server" id="Name" /><br />
Age: <asp:Label runat="server" id="Age" /><br />
Eye Color: <asp:Label runat="server" id="EyeColor" />
</form>
</body>
</html>
----------
首先:定一个类(CLASS): Public Class Person 名称为 Person
然后是:
Public Sub New()
End Sub
这里是调用构造函数 New() ,进行类的初始化。这一步是必须的。细节在后面。
-----------
[定义属性]:
基本书写格式如下:
Public Property Name As String
Get
Return _Name
End Get
Set(Byval Value As String)
_Name = Value
End Get
End Property
属性一般都是能够被外界访问到的,如果外界无法得到属性的值,那么这样的属性没有必要存在。因此,这里采用 Public 修饰符;String 是这里 Name 属性名称的具体数据类型。我们看到,这里有 Get 和 Set 两个语句,Get 语句是外界如何得到参数的“取值”过程,Set 是在程序中设置属性值的“设置”过程。
在 Set 语句中,还可以写入更多的内容。如:年龄属性设置----如果年龄不足1岁,将按1岁计算;否则,按实际年龄计算:
Public Property Age As Integer
Get
Return _Age
End Get
Set(Byval Value As Integer)
If Value < 1 Then
_Age = 1
Else
_Age = Value
End If
End Set
End Property
属性还有只读 ( ReadOnly ) 和 只写 ( WriteOnly ) 两种类型
只读类型: 例如----牛的眼睛颜色这一属性,天生的就不能更改,只能读取
Public ReadOnly Property EyeColor As String
Get
Return _EyeColor
End Get
End Property
上述是只读属性的完整写法,没有 Set 语句,那如何初始化属性值呢?
前面讲到的类的初始化函数 New() ,因此可以在
Public Sub New()
_Eyecolor = "Blue"
End Sub
设置只读属性的初始值。
只写属性: 目前我还没有一个很合适的例子
Public WriteOnly Property EyeColor As String
Set(Byval Value As String)
_Eyecolor = Value
End Set
End Property ===========
方法
类中的函数,就是方法----函数必须有一个且只有一个返回值,函数可以声明参数,也可以不声明参数。函数的返回值类型必须在函数定义的开始就给定。
函数的定义:
Function Myfunction(Myparam As String) As Integer
Dim Myresult
...
Return Myresult
End Function 方法:
在同一个类中,可以定义完全两个名称相同,参数不同的函数。如:
Public Function Walk() As String
Return _Name & ": Forwards."
End Function
Public Function Walk(Dirs As String) As String
If Dirs = " Back " Then
Return _Name & ": Backwards."
Else
Return _Name & ": Forwards."
End If
End Function
Public Function Walk(Dirs As Integer) As String
If Dirs > 0 Then
Return _Name & ": Backwards."
Else
Return _Name & ": Forwards."
End If
End Function
上述三个同名函数,其实,可以完全满足不同习惯的编程人员:walk() 是默认方法,walk(参数) 的两种写法可以满足有些人喜欢使用字符串作方法的参数,有些人喜欢数字化方法参数... ...
上述三个同名函数,可以优化为下面写法:
Public Function Walk() As String
Return Walk(1)
End Function
Public Function Walk(Dirs As String) As String
If Dirs = " Back " Then
Return Walk(-1)
Else
Return Walk(1)
End If
End Function
Public Function Walk(Dirs As Integer) As String
If Dirs > 0 Then
Return _Name & ": Backwards."
Else
Return _Name & ": Forwards."
End If
End Function
这种写法,是类的方法重载特性,如果需要改变,只需要更改最后一个方法即可。
[类]:同种事物的抽象化、模板化。
[实例]:类的一个具体形式。
------------
属性、方法、事件。
[属性]: Properties 描述类的某特征的名词,如:牛(一个类) --> 牛眼睛的颜色 & 牛的耳朵轮廓 ... ...
[方法]: Methods 描述类的自身所具有的功能/行为的动作,动词。如:牛(一个类) --> 产牛奶 & 鸣叫 ... ...
[事件]: Event 描述类的实例受到外界的作用而响应的动作,动词。如:牛(一个类) --> 挤牛奶(被动产奶) & 牛需要休息(因为时间作用使牛疲劳) ... ...
-----------
创建类
下面是一个完整的例子。 <%@ Page Language="VB" %>
<script runat="server">
Public Class Person '类名: Person
Public Sub New() '初始化类
End Sub '声明类内部变量的数据类型
Private _Name As String
Private _Age As Integer
Private _EyeColor As String '定义 Name 属性
Public Property Name As String
Get
Return _Name
End Get
Set (ByVal Value As String)
_Name = Value
End Set
End Property '定义 Age 属性
Public Property Age As Integer
Get
Return _Age
End Get
Set (ByVal Value As Integer)
_Age = Value
End Set
End Property '定义 EyeColor 属性
Public Property EyeColor As String
Get
Return _EyeColor
End Get
Set (ByVal Value As String)
_EyeColor = Value
End Set
End Property
End Class '结束类定义 '页面加载 Sub Page_Load(Sender As Object, E As EventArgs)
Dim myPerson As New Person() '首先,要初始化类属性值
myPerson.Name = "Susan"
myPerson.Age = "25"
myPerson.EyeColor = "Blue"
Name.Text = myPerson.Name
Age.Text = myPerson.Age
EyeColor.Text = myPerson.EyeColor
End Sub
</script>
<html>
<head>
</head>
<body>
<form runat="server">
Name: <asp:Label runat="server" id="Name" /><br />
Age: <asp:Label runat="server" id="Age" /><br />
Eye Color: <asp:Label runat="server" id="EyeColor" />
</form>
</body>
</html>
----------
首先:定一个类(CLASS): Public Class Person 名称为 Person
然后是:
Public Sub New()
End Sub
这里是调用构造函数 New() ,进行类的初始化。这一步是必须的。细节在后面。
-----------
[定义属性]:
基本书写格式如下:
Public Property Name As String
Get
Return _Name
End Get
Set(Byval Value As String)
_Name = Value
End Get
End Property
属性一般都是能够被外界访问到的,如果外界无法得到属性的值,那么这样的属性没有必要存在。因此,这里采用 Public 修饰符;String 是这里 Name 属性名称的具体数据类型。我们看到,这里有 Get 和 Set 两个语句,Get 语句是外界如何得到参数的“取值”过程,Set 是在程序中设置属性值的“设置”过程。
在 Set 语句中,还可以写入更多的内容。如:年龄属性设置----如果年龄不足1岁,将按1岁计算;否则,按实际年龄计算:
Public Property Age As Integer
Get
Return _Age
End Get
Set(Byval Value As Integer)
If Value < 1 Then
_Age = 1
Else
_Age = Value
End If
End Set
End Property
属性还有只读 ( ReadOnly ) 和 只写 ( WriteOnly ) 两种类型
只读类型: 例如----牛的眼睛颜色这一属性,天生的就不能更改,只能读取
Public ReadOnly Property EyeColor As String
Get
Return _EyeColor
End Get
End Property
上述是只读属性的完整写法,没有 Set 语句,那如何初始化属性值呢?
前面讲到的类的初始化函数 New() ,因此可以在
Public Sub New()
_Eyecolor = "Blue"
End Sub
设置只读属性的初始值。
只写属性: 目前我还没有一个很合适的例子
Public WriteOnly Property EyeColor As String
Set(Byval Value As String)
_Eyecolor = Value
End Set
End Property ===========
方法
类中的函数,就是方法----函数必须有一个且只有一个返回值,函数可以声明参数,也可以不声明参数。函数的返回值类型必须在函数定义的开始就给定。
函数的定义:
Function Myfunction(Myparam As String) As Integer
Dim Myresult
...
Return Myresult
End Function 方法:
在同一个类中,可以定义完全两个名称相同,参数不同的函数。如:
Public Function Walk() As String
Return _Name & ": Forwards."
End Function
Public Function Walk(Dirs As String) As String
If Dirs = " Back " Then
Return _Name & ": Backwards."
Else
Return _Name & ": Forwards."
End If
End Function
Public Function Walk(Dirs As Integer) As String
If Dirs > 0 Then
Return _Name & ": Backwards."
Else
Return _Name & ": Forwards."
End If
End Function
上述三个同名函数,其实,可以完全满足不同习惯的编程人员:walk() 是默认方法,walk(参数) 的两种写法可以满足有些人喜欢使用字符串作方法的参数,有些人喜欢数字化方法参数... ...
上述三个同名函数,可以优化为下面写法:
Public Function Walk() As String
Return Walk(1)
End Function
Public Function Walk(Dirs As String) As String
If Dirs = " Back " Then
Return Walk(-1)
Else
Return Walk(1)
End If
End Function
Public Function Walk(Dirs As Integer) As String
If Dirs > 0 Then
Return _Name & ": Backwards."
Else
Return _Name & ": Forwards."
End If
End Function
这种写法,是类的方法重载特性,如果需要改变,只需要更改最后一个方法即可。
相关文章推荐
- 这么详细的分类 VB/VB.NET源代码网站你见过没有? VB/VB.NET中的每一个方法,每一个操作,每一个函数,每一个类.每一个属性,每一个事件都有相应的范例代码
- VB.Net行列计算函数
- VB.net学习笔记(二十四)线程基础
- 转 C#中直接调用VB.NET的函数,兼论半角与全角、简繁体中文互相转化
- asp.net(vb.net)获取真实IP的函数
- fgm实例练习笔记-2.5函数传参,改变Div任意属性的值
- 第一章:VB.NET函数——转换数据类型函数
- [转]C#中直接调用VB.NET的函数,兼论半角与全角、简繁体中文互相转化
- VB.NET函数——数学函数
- vb.net动态加载dll并执行dll中的某一个函数
- VB中的常量与变量及函数笔记(希望对大家有用)
- VB.net常用字符和日期等函数
- vb.net 中最小化到托盘和锁定窗体大小的问题(notifyIcon的两个重要属性)
- ADO.NET笔记——将DataReader作为函数返回值
- [2004-8-4]VB.Net学习笔记,使用ADO.Net对象访问数据库,将结果写入ListView
- vb.net C# AtlAxGetControl 函数使用方法
- 笔记13:vb.net网络编程中出现的错误
- VB.NET属性书写
- vb.net中usercontrol向外抛出事件和属性