我理解接口(interface)的概念,但是我经常发现很难找到如何使用它们的实际示例。我生成了以下代码:
Public MustInherit Class Deletion2
Implements DeletionInterface2
Public MustOverride Function Delete() As String Implements DeletionInterface2.Delete
Public Function CheckDate() As Boolean Implements DeletionInterface2.CheckDate
Return True
End Function
End Class
Public Class System1Delete
Inherits Deletion2
Implements DeletionInterface2
Overrides Function Delete() As String
Return "System 1 Deleted"
End Function
End Class
Public Class System2Delete
Inherits Deletion2
Implements DeletionInterface2
Overrides Function Delete() As String
Return "System 2 Deleted"
End Function
End Class
Public Interface DeletionInterface2
Function CheckDate() As Boolean
Function Delete() As String
End Interface
Public Class Form1
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim IDeletion As DeletionInterface2
IDeletion = New System1Delete
IDeletion.CheckDate()
IDeletion.Delete()
IDeletion = Nothing
IDeletion = New System2Delete
IDeletion.CheckDate()
IDeletion.Delete()
IDeletion = Nothing
End Sub
在上面的示例中(在页面加载中),我使用了对接口(interface)的引用来创建对象的实例,但我不明白这样做的真正好处。
最佳答案
使用像接口(interface)(或 MustInherit
类)这样的抽象的好处是,您可以以相同的方式对待实现接口(interface)的任何对象。 p>
例如,System.Data
命名空间使用许多此类抽象,这意味着实现不同的数据提供程序更容易,并且由于核心正在使用这些抽象,因此不需要更改为新的添加了实现(有关所有不同提供程序的内容,内置的和第三方的 - SQL Server、Oracle、PostGresSQL、MySQL 等...)。
关于VB.NET接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11378532/