VB.Net中文教程(12) 共享成员(Shared Member)
点击次数:54 次 发布日期:2008-11-06 08:07:37 作者:源代码网
|
源代码网推荐 源代码网推荐 源代码网推荐?????? 内容 ?????? 源代码网推荐v 1. 共享资料成员 源代码网推荐v 2. 共享程序成员 源代码网推荐 源代码网推荐 您已经习惯像 New Employee("Tom", 25)这样的指令了,看到这个指令可以想向它是:Employee.New("Tom", 25),于是不难想象到,原来类别也是对象!这个类别对象(Class Object)接到New()讯息时,就去诞生一个对象,原来类别对象就是妈妈对象(Meta Object)!妈妈是小孩共有的,妈妈的资料值是小孩共享的,妈妈的程序是小孩共享的。本文就介绍这种共享的资料成员和程序成员。 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐1. 共享资料成员 源代码网推荐 对象拥有自己的空间﹐也拥有自己的资料﹔对象之间的沟通(交换资料)方法是个重要问题。如果只想传递某项资料时﹐该如何呢﹖ 源代码网推荐 源代码网推荐 源代码网推荐 图1、 对象间之沟通 源代码网推荐 源代码网推荐 有数种可行方法﹐请看个例子﹕ 源代码网推荐 源代码网推荐"ex01.bas 源代码网推荐Imports System.ComponentModel 源代码网推荐Imports System.Drawing 源代码网推荐Imports System.WinForms 源代码网推荐"---------------------------------------------------- 源代码网推荐Class Employee 源代码网推荐 Private emp_name As String 源代码网推荐 Public salary As Double 源代码网推荐 Public Overloads Sub New(ByVal na As String) 源代码网推荐 emp_name = na 源代码网推荐 End Sub 源代码网推荐 Public Overloads Sub New(ByVal na As String, ByVal s As Double) 源代码网推荐 emp_name = na 源代码网推荐 salary = s 源代码网推荐 End Sub 源代码网推荐 Public Sub Display() 源代码网推荐 MessageBox.Show("Name: " emp_name " Salary: " str(salary)) 源代码网推荐 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 软件开发网 www.mscto.com 源代码网推荐#Region " Windows Form Designer generated code " 源代码网推荐 ...... 源代码网推荐#End Region 源代码网推荐 Protected Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) 源代码网推荐 Dim e1 As New Employee("Tom") 源代码网推荐 Dim e2 As New Employee("Lily", 20000) 源代码网推荐 e1.salary = e2.salary 5000 源代码网推荐 e1.Display() 源代码网推荐 e2.Display() 源代码网推荐 End Sub 源代码网推荐End Class 源代码网推荐 源代码网推荐此程序输出如下﹕ 源代码网推荐 Name:Tom Salary:25000 源代码网推荐 Name:Lily Salary:20000 源代码网推荐 源代码网推荐这宣告salary为public变量﹐让main()能直接使用salary变量。指令: 源代码网推荐 e1.salary = e2.salary 5000 源代码网推荐 源代码网推荐把对象e2之salary值加上5000﹐然后存入e1之salary变量中。此程序﹐重复定义了建构者程序── New()﹐宣告对象e1及e2时﹐就有两种选择﹕只输入姓名﹐或同时输入姓名及薪资额。请注意一项缺点﹕把salary宣告为Public变量﹐让Form1_Click()可使用salary变量名称﹐直接把资料存入对象中。若其它程序也依样画葫芦﹐任意把值存入salary中﹐那么salary值可能无意中遭破坏了。 源代码网推荐 源代码网供稿. |
