首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

Shared、Public等的差异,该怎么解决

2012-01-29 
Shared、Public等的差异SharedPublicProtectedFriendPrivate...适用范围,请举简单例子说明[解决办法]public

Shared、Public等的差异
Shared
Public
Protected
Friend
Private
...

适用范围,请举简单例子说明

[解决办法]
public,private,protect是变量作用范围
Shared 变量作用类似application全局变量.


[解决办法]
Shared类似于static
[解决办法]
Shared 声明静态全局变量,多线程可作为安全变量
Public 全局变量,这变量在哪声明都能用到
Protected 这个好像是声明属性用的吧?前面加上public就全局可见,加上private模块内部可见了
Friend 不太知道这东西,用在属性前面的。。。没用过
Private 局部变量,只能本模块内可见,功能基本同dim。。。但没人声明方法用dim吧。。。区别就这点。

[解决办法]
Class Employee
Public name As String
Private salary As Double
End Class

Module MDLTest
Sub Main()
Dim c As New Employee
c.name = "John "
' Error:
' c.salary = 100403.33
End Sub
End Module
---------------------------
Class Client
Public prefix As String
Public name As String
Public Shared printPrefix As Boolean = True
Sub PrintName()
If printPrefix Then Console.Write(prefix)
Console.WriteLine(name)
End Sub
End Class

Module MDLTest
Sub Main()
Dim x As New Client
x.prefix = "Mr. "
x.name = "John Smith "

Client.printPrefix = False
x.PrintName()
End Sub
End Module

[解决办法]
public,protected,friend,private 是定义类中成员的访问权限的。

public 类中其他成员,子类,实例 ,友类 都可以访问
protected 类中其他成员,子类 可以访问
friend 类中其他成员,友类 可以访问
private 类中其他成员 可以访问

Shared 声明成员为共享,相当于 c++,c#,java 中的 static(静态) ,不能在实例中访问。只能通过类型来访问。而且其值是共享的。可以修改的。这一点是和 const 截然不同的。

热点排行