| 网站首页 | JAVA文章 | AppServers | Web开发 | 应用开发 | 资源下载 | 论坛
    想学好编程,学好外语很重要  [enadd  2006年12月25日]        
设为首页 加入收藏 联系站长
您现在的位置: 编程笔记网 >> 应用开发 >> VB.NET >> vb.net教程 >> 文章正文
VB.Net中文教程(1) 类别与封装性            【字体:
VB.Net中文教程(1) 类别与封装性
作者:-    文章来源:-    点击数:    更新时间:2007-1-20

1. 类别的「程序成员」(Procedure Member)

类别 (Class)之任务是把资料(Data)和程序(Procedure)组织并封装起来。类别告诉计算机﹕「其对象应含有那些资料、应含有那些程序裨处理外界传来之讯息」。类别须详细说明它的资料及程序﹐我们称此资料是类别之「资料成员」(Data Member) ﹔而称此程序是类别之「程序成员」(Procedure Member)。有关类别内容之叙述﹐就是所谓的类别定义(Class Definition)。类别定义之格式为──

类别之用途为﹕宣告对象。例如﹕

'ex01.bas
Imports System.ComponentModel
Imports System.Drawing
Imports System.WinForms
'----------------------------------------------------
Class Tree
Public varity As String
Public age As Integer
Public height As Single
End Class
'-----------------------------------------------------
Public Class Form1
Inherits System.WinForms.Form

Public Sub New()
MyBase.New()
Form1 = Me
'This call is required by the Win Form Designer.
InitializeComponent()
'TODO:Add any initialization after the InitializeComponent() call
End Sub
'Form overrides dispose to clean up the component list.
Public Overrides Sub Dispose()
MyBase.Dispose()
components.Dispose()
End Sub
#Region " Windows Form Designer generated code "
.......
#End Region
Protected Sub Form1_Click(ByVal sender As Object, ByVal
e As System.EventArgs)
Dim a As New Tree()
MsgBox("Object a Is Created.")
End Sub
End Class

此程序定义了类别Tree﹐它只含资料而无程序﹐为一「阳春型」之类别。当计算机执行到Form1_Click()程序内之宣告指令──
Dim a As New Tree()

就分配足够存放这 3项资料的内存空间给予对象 a。然而﹐此Tree类别只有资料而无程序。所以﹐对象 a无法接受外来之讯息。此时﹐可加入程序成员﹐使Tree类别含有程序、具有动力﹐对象就有能力来处理讯息了。例如﹕

'ex02.bas
Imports System.ComponentModel
Imports System.Drawing
Imports System.WinForms
'------------------------------------------------------------
Class Tree
Public varity As String
Public age As Integer
Public height As Single
Public Sub input(ByVal hei As Single)
height = hei
End Sub
End Class
'------------------------------------------------------------
Public Class Form1
Inherits System.WinForms.Form

Public Sub New()
MyBase.New()
Form1 = Me
'This call is required by the Win Form Designer.
InitializeComponent()
'TODO: Add any initialization after the InitializeComponent() call
End Sub
'Form overrides dispose to clean up the component list.
Public Overrides Sub Dispose()
MyBase.Dispose()
components.Dispose()
End Sub
#Region " Windows Form Designer generated code "
......
#End Region
Protected Sub Form1_Click( ByVal sender As Object, ByVal
e As System.EventArgs)
Dim a As New Tree()
a.input(2.1)
Messagebox.Show("Set a.Height to 2.1", "Hello!")
End Sub
End Class

此程序输出:Set a.Height to 2.1
现在﹐Tree类别已拥有程序成员 input()。程序成员的写法与一般VB程序相同﹐只是它应宣告于类别内﹐成为类别之专属程序。此刻﹐对象 a含有 3项资料及 1个程序﹕

计算机执行到指令──
a.input(2.1)

就将讯息──input(2.1)传给对象 a。此时计算机呼叫并执行对象 a内之input() 程序。对象 a内之 input()就是定义于Tree类别内之input() ﹔于是Form1_Click()就把自变量──2.1 传给 input()内之 hei变量。

 

接下来﹐叙述──
height = hei

[1] [2] [3] [4] [5] [6] 下一页  

文章录入:enadd    责任编辑:enadd 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
  • VB.Net中文教程(2) Composit…

  • VB.Net中文教程(3) 继承与封…

  • VB.Net中文教程(4) 类别继承…

  • VB.Net中文教程(5)程序多重定…

  • VB.Net中文教程(6) 母子对象…

  • VB.Net中文教程(7) Me参考值

  • VB.Net中文教程(8) 对象(Obj…

  • VB.Net中文教程(9) 重新定义…

  • VB.net入门(10):补充:类~属…

  • VB.Net中文教程(11) Prototy…

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 |