アクアさんのとこに書いたやつ。


Interface Fighter
Property Name() As String
Sub Attack()
End Interface

Interface Chef
Property Name() As String
Sub Cook()
End Interface



Public Class Character
Implements Fighter, Chef

Private mName As String

Public Property Name() As String Implements Fighter.Name, Chef.Name
Get
Return mName
End Get
Set(ByVal value As String)
mName = value
End Set
End Property


Public Sub Attack() Implements Fighter.Attack
Console.WriteLine("{0}の攻撃: 10のダメージを与えた。", Name)
End Sub


Public Sub Cook() Implements Chef.Cook
Console.WriteLine("{0}は 出し巻き卵を作った。", Name)
End Sub

End Class



Public Class Program

Public Shared Sub Main()

Dim Hero As Fighter = New Character()
Hero.Name = "ぽぴ王子"
Hero.Attack()
' Fighter 型の時はCookできないよ。
'Hero.Cook()

Dim chef As Chef = New Character()
chef.Name = "とりこびと"
chef.Cook()
' Chef 型の時はAttackできないよ。
'chef.Attack()

End Sub
End Class