Ich habe Elemente einer Schnittstelle. Ich möchte die richtige Funktion verwenden. Aber wegen der Werkzeuge der Funktion (IF), es immer die Funktion der Basisklasse verwendenSchnittstelle erfordern Vererbung der Basisklasse
Schnittstelle
Public Interface I
Function F() As Boolean
End Interface
Basisklasse I Interface implementieren
Public MustInherit Class B
Implements I
Public Overridable Function F() As Boolean Implements I.F
Return True
End Function
End Class
Klassen Basisklasse verwendet und wird als Objekt verwendet werden
Public Class C1
Inherits B
Public Overloads Function F() As Boolean
Return False
End Function
End Class
Public Class C2
Inherits B
End Class
Probe
Sub Main()
Dim x As I
x = New C1
If x.F Then
Console.WriteLine("c1 = true")
Else
Console.WriteLine("c1 = false")
End If
x = New C2
If x.F Then
Console.WriteLine("c2 = true")
Else
Console.WriteLine("c2 = false")
End If
Console.ReadLine()
End Sub
Ergebnis:
c1 = true
c2 = true
c1 sollte wegen seiner eigenen Funktion "F" falsch sein.