vbs中class的使用示例

从网上看到一个vbs中使用class的例子, 转出来,共同学习!

Class ArrayList 
Private items() 
Private size 

Private Sub Class_Initialize 
   size = 0 
   ReDim items(1) 
End Sub 
Private Sub Class_Terminate 
   ReDim items(1)
   'jince 怎样解引用?
   'Set items = Nothing 
End Sub 

Public Function Add(ByVal value) 
   dim1 = Ubound(items)
   dim1 = Ubound(items,1)
   dim2 = Ubound(items,2)
   If (size = Ubound(items)) Then EnsureCapacity((size + 1)) 
   items(size) = value 
   size = size + 1 
   Add = size 
End Function 

Public Property Get Item(index) 
   Item = items(index) 
End Property 

Public Property Let Item(index, vObject) 
   items(index) = vObject 
End Property 

Property Get Count 
   Count = size 
End Property 

Public Property Get Capacity() 
   Capacity = Ubound(items) 
End Property 

Public Property Let Capacity(value) 
   If (value <> Ubound(items)) Then 
    If (value < size) Then Err.Rise 6 
    If (value > 0) Then 
     ReDim Preserve items(value) 
    Else 
     ReDim Preserve items(3) 
    End If 
   End If 
End Property 
  
Private Sub EnsureCapacity(ByVal min) 
   If (Ubound(items) < min) Then 
    Dim num1 : num1 = IIf((Ubound(items) = 0), 4, (Ubound(items) * 2)) 
    If (num1 < min) Then num1 = min 
    Capacity = num1 
   End If 
End Sub 

Private Function IIf(j, r1, r2) 
   IF (j) Then 
    IIf = r1 
   Else 
    IIf = r2 
   End IF 
End Function 
End Class

'示例: 
Dim al : Set al = new ArrayList 
al.Add(1) 
al.Add(2) 
al.Add(3) 
al.Add(4) 
al.Add(5) 
al.Add(6) 
al.Add(7) 
al.Add(8) 
al.Add(9) 
al.Add(10) 
For i = 0 To al.Count -1 
w("Index"& i &": "& al.Item(i)) 
Next 
w("Count: "& al.Count) 
w("Capacity: "& al.Capacity)

Sub w(o) 
Debug.WriteLine(o) 
End Sub


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值