VBS:Class、Public、Private

Class Circle

    Public r     
    Private mArea
    
    PublicSub Init(a)
        r=a
    EndSub
    
    PublicFunction Area()
        If mArea=""Then
            mArea=Atn(1)*4*r*r 
        EndIf
        Area=mArea
    EndFunction
        
    PrivateSub EchoInfo()
        MsgBox"圆的半径是:" & r & vbCrLf & "圆的面积是:" & mArea
    EndSub
        
EndClass

Set c = New Circle   ' 创建一个 TestClass 实例。
c.Init 2                                
'Init是在Python中的构造函数名称,你可以定义其他的名称,随你喜欢
'其他语言,如C#,C++都是用类名做为构造函数名称,显然没有Init简单易记
MsgBox c.r
MsgBox c.Area()
'MsgBox c.mArea                        
'无法访问,因为这个字段是私有的,只能类内部访问,如上面的Area方法
'MsgBox c.EchoInfo()        
'无法访问,因为这个方法是私有的,只能类内部访问
Set c = Nothing      ' 删除实例

 

 

posted on 2015-03-10 17:32  小与  阅读(1097)  评论(0)    收藏  举报

导航