miércoles, 25 de mayo de 2016

Interfaz de Visual Basic

Las interfaces definen las propiedades, los métodos y los eventos que pueden implementar las clases. Las interfaces permiten definir características como grupos pequeños de propiedades, métodos y eventos estrechamente relacionados; esto reduce los problemas de compatibilidad porque se pueden desarrollar implementaciones mejoradas para las interfaces sin comprometer el código existente. En cualquier momento se pueden agregar nuevas características mediante el desarrollo de implementaciones e interfaces adicionales.
Hay otras razones por las que se podrían usar las interfaces en vez de la herencia de clases:
Las interfaces se adaptan mejor a situaciones en las que las aplicaciones necesitan que muchos tipos de objetos posiblemente no relacionados proporcionen una funcionalidad determinada.
Las interfaces son más flexibles que las clases base porque puede definir una única implementación que puede implementar interfaces múltiples.
Las interfaces son mejores en situaciones en las que no es necesario heredar una implementación de una clase base.
Las interfaces son útiles cuando no se puede usar la herencia de clases. Por ejemplo, las estructuras no pueden heredar de clases, pero pueden implementar interfaces.

Definicion de visual basic
Las definiciones de interfaz se encuentran dentro de las instrucciones Interface y End Interface. Después de la instrucción Interface, puede agregar una instrucción Inherits opcional que muestra una o varias interfaces heredadas. Las instrucciones Inherits deben preceder a todas las demás instrucciones de la declaración a excepción de los comentarios. El resto de instrucciones de la definición de interfaz deben ser instrucciones Event,Sub, Function, Property, Interface, Class, Structure y Enum. Las interfaces no pueden contener código de implementación ni instrucciones asociadas al código de implementación, como End Sub o End Property.

En un espacio de nombres, las instrucciones de interfaz son Friend de forma predeterminada, pero también se pueden declarar explícitamente comoPublic o Friend. Las interfaces definidas dentro de clases, módulos, interfaces y estructuras son Public de forma predeterminada, pero también se pueden declarar explícitamente como Public, Friend, Protected o Private.

Algunos ejemplos de interfaces:
Interface IAsset
    Event ComittedChange(ByVal Success As Boolean)
    Property Division() As String
    Function GetID() As Integer
End Interface
Class Class1
    Implements interfaceclass.interface2

    Sub Sub1(ByVal i As Integer) Implements interfaceclass.interface2.Sub1
    End Sub
End Class
Class Class2
    Implements I1, I2

    Protected Sub M1() Implements I1.M1, I1.M2, I2.M3, I2.M4
    End Sub
End Class
Interface Interface1
    Sub sub1(ByVal i As Integer)
End Interface

' Demonstrates interface inheritance.
Interface Interface2
    Inherits Interface1
    Sub M1(ByVal y As Integer)
    ReadOnly Property Num() As Integer
End Interface
Public Class ImplementationClass1
    Implements Interface1
    Sub Sub1(ByVal i As Integer) Implements Interface1.sub1
        ' Insert code here to implement this method.
    End Sub
End Class

No hay comentarios:

Publicar un comentario