Теперь вам не придется присваивать
Теперь вам не придется присваивать их промежуточным интерфейсным переменным. Пример:
Dim tom As New LeadProgrammer("Tom",65000) tom.SpendMoraleFund(500)
Однако в обратных преобразованиях приходится использовать функцию СТуре:
Dim tom As New LeadProgrammer("Tom". 65000)
Dim aLead As ILead.aName As String
aLead = tom
aName = Ctype(aLead. Programmer).TheName 'OK
Следующая строка недопустима:
aName =tom.TheName ' ЗАПРЕЩЕНО!
Ниже перечислены общие правила преобразования между типом объекта и интерфейсом, им реализуемым.
Чтобы определить, реализует ли объект некоторый интерфейс, воспользуйтесь ключевым словом TypeOf в сочетании с Is. Пример:
Dim torn As New LeadProgrammer("tom". 50000)
Console.WriteLine((TypeOf (tom) Is Head))
Вторая строка выводит значение True.
Один метод может реализовывать несколько функций, определенных в одном интерфейсе:
Public Sub itsOK Implements
Interface1.Ml.Interfacel.M2,Interfacel.M3
Ниже приведена полная версия класса LeadProgrammer. Конечно, реализация методов интерфейса выглядит несколько условно, однако опадает представление о том, что можно сделать при реализации интерфейса:
Public Class LeadProgrammer
Inherits Programmer Implements Head
Private m_MoraleFund As Decimal
Private m_MyTeam As Employee()
Public Function Rate(ByVal aPerson As Employee) As String _
Implements Head.Rate
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий