Mega Code Archive

 
Categories / VB.Net / Class
 

Implement an Interface

Imports System Imports System.Collections Public Class MainClass   Shared Sub Main()     Dim e1 As New Programmer("E1", 50000)     Dim e2 As New Employee("E2", 40000)          Dim theTeam As Employee() = {e1, e2}          e1.MyTeam = theTeam          Console.WriteLine(e1.Rate(e2))        End Sub End Class Public Interface ILead   Sub SpendMoraleFund(ByVal amount As Decimal)   Function Rate(ByVal aPerson As Employee) As String   Property MyTeam() As Employee()   Property MoraleFund() As Decimal End Interface Public Class Programmer   Inherits Employee   Implements ILead   Private m_MoraleFund As Decimal   Private m_MyTeam As Employee()   Public Function Rate(ByVal aPerson As Employee) As String _   Implements ILead.Rate     Return aPerson.TheName & " rating to be done"   End Function   Public Property MyTeam() As Employee() _   Implements ILead.MyTeam     Get       Return m_MyTeam     End Get     Set(ByVal Value As Employee())       m_MyTeam = Value     End Set   End Property   Public Sub SpendMoraleFund(ByVal amount As Decimal) _   Implements ILead.SpendMoraleFund     'spend some money     Console.WriteLine("Spent " & amount.ToString())   End Sub   Public Property OurMoraleFund() As Decimal Implements ILead.MoraleFund     Get       Return m_MoraleFund     End Get     Set(ByVal Value As Decimal)       m_MoraleFund = Value     End Set   End Property   Public Sub New(ByVal theName As String, ByVal curSalary As Decimal)     MyBase.New(theName, curSalary)   End Sub End Class Public Class Employee   Private m_Name As String   Private m_Salary As Decimal   Public Sub New(ByVal theName As String, ByVal curSalary As Decimal)     m_Name = theName     m_Salary = curSalary   End Sub   Public ReadOnly Property TheName() As String     Get       Return m_Name     End Get   End Property   Public ReadOnly Property Salary() As Decimal     Get       Return MyClass.m_Salary     End Get   End Property End Class