量子编程法(005):量子类

在前面的文章中给出了量子的数据结构,当时为了介绍量子编程法的原理和快速举例,并没有按这种数据结构进行编码,只是简单的采用变量和过程进行逻辑上的等效处理。

但在实际应用中,还是习惯于将量子的功能封装到一个类中,以方便编程和进一步的深入研究。

下面给出VBA代码的量子类定义,这里面只包含量子的基本功能,以后随着研究的深入,其成员会不断的扩充。

'类模块:Quantum
Option Explicit

'量子类Quantum
Public Value As Variant                           '量子的数据成员
Public m_colValidSourSet As New Collection        '确认源量子的集合(元素为Quantum类型)
Public m_colDriveSuccSet As New Collection        '驱动继量子的集合(元素为Quantum类型)

Function IsValid() As Boolean '量子的确认

    IsValid = SourQtmsIsValid '源量子的确认
    If IsValid Then IsValid = MySelfIsValid '量子自身的确认
    
End Function

Sub Action() '量子的动作
    
    If SourQtmsIsValid Then '源量子有效
        MySelfAction '量子的具体动作
        
        '驱动继量子
        If MySelfIsValid Then '量子自身有效
            SendMsg '向继量子发消息
        End If

End Sub

Function SourQtmsIsValid() As Boolean '源量子的确认

    SourQtmsIsValid = True

    If m_colValidSourSet.count = 0 Then Exit Function
    
    Dim i As Long

    For i = 1 To m_colValidSourSet.count
        SourQtmsIsValid = m_colValidSourSet(i).IsValid
        If Not SourQtmsIsValid Then Exit Function
    Next i

End Function

Function MySelfIsValid() As Boolean '量子自身的确认
    '具体的确认代码
    '......
End Function

Sub MySelfAction() '量子的具体动作
    '具体的动作代码
    '......
End Sub

Sub SendMsg() '向继量子发消息
    
    Dim item As Variant
    
    For Each item In m_colDriveSuccSet '对每个继量子
        item.Action '直接调用动作过程
    Next item
    
End Sub

在这个Quantum类的定义中,MySelfAction()和MySelfIsValid()定义了量子对象具体的动作代码和确认代码,因此它们本质上是过程和函数的指针,需要在产生对象时,将相应过程和函数的地址赋给它们。当然,VBA是不支持过程和函数指针的,但可以另外想办法解决,以后再说。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值