Зачем нужны интерфейсы? - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Почитав MSDN и еще пару сайтов до меня так и не дошло что мне дадут интерфейсы нашел пример реализации интерфейса (код ниже), но я не понимаю чем он лучше? я мог бы создать другой класс Client, в котором не упоминал бы Implements и попросту выбросил бы Interface IAccount из кода подскажите чего я не вижу в этом коде, потому что для меня этот класс Client с использованием Implements выглядит точно таким же как и без Implements

Решение задачи: «Зачем нужны интерфейсы?»

textual
Листинг программы
    Interface IInterface
        Event CallEvent(sender As IInterface)
        ReadOnly Property Name As String
    End Interface
 
    Class TestClass
        Private _c1 As Class1
        Private _c2 As Class2
 
        Sub New()
            _c1 = New Class1
            _c2 = New Class2
            'привязка событий к классам
            AddHandler _c1.CallEvent, AddressOf Me.CallEvenet_
            AddHandler _c2.CallEvent, AddressOf Me.CallEvenet_
        End Sub
 
        Sub TestClass1() 'тест вызоы из Class1
            _c1.TestClass1()
        End Sub
 
        Sub TestClass2() 'тест вызоы из Class2
            _c2.TestClass2()
        End Sub
 
        Sub CallEvenet_(sender As IInterface) 'общий метод
            MessageBox.Show(sender.Name)
        End Sub
 
    End Class
 
    Class Class1
        Implements IInterface
 
        Public Event CallEvent(sender As IInterface) Implements IInterface.CallEvent
 
        Public ReadOnly Property Name As String Implements IInterface.Name
            Get
                Return "Class1"
            End Get
        End Property
 
        Sub TestClass1() 'тест вызов
            RaiseEvent CallEvent(Me)
        End Sub
 
    End Class
 
    Class Class2
        Implements IInterface
 
        Public Event CallEvent(sender As IInterface) Implements IInterface.CallEvent
 
        Public ReadOnly Property Name As String Implements IInterface.Name
            Get
                Return "Class2"
            End Get
        End Property
 
        Sub TestClass2() 'тест вызов
            RaiseEvent CallEvent(Me)
        End Sub
 
    End Class

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.643 из 5