我试图理解接口中的多重继承。我从以下网站借用了代码并将其转换为VB.NET:http://www.oodesign.com/interface-segregation-principle.html
Public Interface IWorker
Inherits IFeedable, IWorkable
End Interface
Public Interface IWorkable
Sub work()
End Interface
Public Interface IFeedable
Sub eat()
End Interface
Public Class Worker
Implements IWorkable, IFeedable
Public Sub eat() Implements IFeedable.eat
End Sub
Public Sub work() Implements IWorkable.work
End Sub
End Class
Public Class Robot
Implements IWorkable
Public Sub work() Implements IWorkable.work
End Sub
End Class
Class Manager
Dim worker As IWorkable
Public Sub setWorker(ByVal w As IWorkable)
worker = w
End Sub
Public Sub manage()
worker.work()
End Sub
End Class
Public Class Form1
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Try
Dim Test As New Manager
Dim IWorkerRobot As IWorkable = New Robot
Test.setWorker(IWorkerRobot)
Catch ex As Exception
'I won't absorb the exception.
End Try
End Sub
End Class
我不明白 IWorker 接口的意义现在有一个 IWorkable 和 IFeedable 接口(IWorker 扩展了 IFeedable 和 IWorkable)。我意识到这与多态性有关,但我不确定。