by OverTaker » 2006年10月03日(火) 00:05
普通に定義するとエラーになる抽象クラスが、クラスのコンポジションの位置で定義するとコンパイルエラーが出ません。
ActiveBasic CP3です。
コード: 全て選択
Interface MyInterface
Function MyFunction() As Long
End Interface
Class MyClass
myInstance As MyInterface 'エラーにならない
Public
Sub MyClass()
myInstance.MyFunction()
End Sub
Sub ~MyClass()
End Sub
End Class
Dim MyInstance_1 As MyClass
'Dim MyInstance_2 As MyInterface これはエラーになる
ちなみに、このまま実行しますと、抽象クラスのメソッドを呼び出したところでアクセス違反になります。
普通に定義するとエラーになる抽象クラスが、クラスのコンポジションの位置で定義するとコンパイルエラーが出ません。
ActiveBasic CP3です。
[code]Interface MyInterface
Function MyFunction() As Long
End Interface
Class MyClass
myInstance As MyInterface 'エラーにならない
Public
Sub MyClass()
myInstance.MyFunction()
End Sub
Sub ~MyClass()
End Sub
End Class
Dim MyInstance_1 As MyClass
'Dim MyInstance_2 As MyInterface これはエラーになる[/code]
ちなみに、このまま実行しますと、抽象クラスのメソッドを呼び出したところでアクセス違反になります。