我爱Aspx >> VB.Net >> VB.Net中文教程(12) 共享成员(Shared Member)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值可能无意中遭破坏了。
如果salary资料并非机密﹐尚无所谓。如果salary含有极重要资料﹐就得谨慎小心了。就像一颗炸弹(Employee类别)内的炸药(salary资料)可能无意中因外面因素(温度升高等)而引起变化导致爆炸﹐就危险了。
图2、类别之保护功能
因之﹐为让对象之间互相传递资料而把资料成员宣告为Public变量并不甚妥当。希望能像炸弹一样﹐只能经由信管(程序成员)使内部的炸药(salary)起化学作用。于是﹐宣告salary为Private变量﹐把它封藏在Employee的保护之中才安全。类别(及对象)之用途和手表、灯泡、蜗牛的外壳是一样的──保护内部之资料﹐只限特定之管道才能存取资料。然而一旦把salary藏入Employee壳中﹐上述程序就出问题了﹐如下﹕
【我对这篇文章有话说?】
VB.Net中文教程(13) Whole-Part关..[05-20]
走近VB.Net(二) 再谈函数调用[05-20]
走近VB.Net(三) 源码详解—运用颜..[05-20]
走近VB.Net(四) 关于数据类型与..[05-20]
走近VB.Net(五) VB.Net核心概念[05-20]
走近VB.Net(六) 菜单与托盘图标[05-20]
走近VB.Net(七)在窗体上画图[05-20]
在Vs.net中使用MSN即时通讯软件(..[05-20]
效率提高两倍!——Visual Basic..[05-20]
Henry的VB.NET之旅(十一)—可视..[05-20]
VB.Net中文教程(13) Whole-Part关..[05-20]
走近VB.Net(二) 再谈函数调用[05-20]
走近VB.Net(三) 源码详解—运用颜..[05-20]
走近VB.Net(四) 关于数据类型与..[05-20]
走近VB.Net(五) VB.Net核心概念[05-20]
走近VB.Net(六) 菜单与托盘图标[05-20]
走近VB.Net(七)在窗体上画图[05-20]
在Vs.net中使用MSN即时通讯软件(..[05-20]
效率提高两倍!——Visual Basic..[05-20]
Henry的VB.NET之旅(十一)—可视..[05-20]