インターフェイスの多重継承を理解しようとしています。次の Web サイトからコードを借用し、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 を拡張したもの) が存在するため、IWorker インターフェイスのポイントが何であるかがわかりません。これはポリモーフィズムと関係があることはわかっていますが、よくわかりません。