您好StackOverflow社区,
我有一个特定的情况处理VB.Net中的接口。
特别是,我有一个应该能够为接口拥有的每个子类运行的函数。这是一个简单的例子:
Public Interface Book
Function TurnPage() As Page
Sub OpenBook()
Sub CloseBook()
End Interface
Public Class Reader
Public Sub Reading()
OpenBook()
TurnPage()
CloseBook()
End Sub
End Class
Public Class Magazine
Implements Book
Public Function TurnPage() As Page
Implements Book.TurnPage
' Code implementation for TurnPage
End Function
Public Sub OpenBook()
Implements Book.TurnPage
' Code implementation for OpenBook
End Sub
Public Sub CloseBook()
Implements Book.TurnPage
' Code implementation for CloseBook
End Sub
End Class
Public Class Novel
Implements Book
Public Function TurnPage() As Page
Implements Book.TurnPage
' Code implementation for TurnPage
End Function
Public Sub OpenBook()
Implements Book.TurnPage
' Code implementation for OpenBook
End Sub
Public Sub CloseBook()
Implements Book.TurnPage
' Code implementation for CloseBook
End Sub
End Class
如何在阅读器(阅读)中为该特定界面(书籍)的所有子类(杂志和小说)使用Sub?
答案 0 :(得分:2)
更改Reader
以接受Book
:
Public Class Reader
Public BookToRead as Book
Public Sub New(ABook As Book)
Me.BookToRead = ABook
End Sub
Public Sub Reading()
BookToRead.OpenBook()
BookToRead.TurnPage()
BookToRead.CloseBook()
End Sub
End Class
然后当你需要读者阅读一本书时:
Dim ThreeMusketeers As New Novel()
Dim reader1 as New Reader(ThreeMusketeers) // Novel
reader1.Reading()
Dim NewYorkTimes As New Magazine()
Dim reader2 as New Reader(NewYorkTimes)
reader2.Reading()