VB の Implements

Comparator クラスモジュール

Option Explicit

Public Function Compare(ByVal a As Variant, ByVal b As Variant) As Long
    Debug.Print "default implementation: a = " & a & ", b = " & b
End Function

ConcreteComparator クラスモジュール

Option Explicit

Implements Comparator

Private Function Comparator_Compare(ByVal a As Variant, ByVal b As Variant) As Long
    Debug.Print "override implementation: a = " & a & ", b = " & b
End Function

Form1 フォーム

Option Explicit

Public Sub f(ByVal x As Comparator)
    Dim a As Long
    a = 3
    Dim b As Long
    b = 4
    Call x.Compare(a, b)
End Sub

Private Sub Command1_Click()
    Dim Comparator As Comparator
    Set Comparator = New ConcreteComparator
    
    Dim a(9) As Comparator
    Set a(0) = New ConcreteComparator
    Call f(Comparator)
End Sub

今日はここまで。。。