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.
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 instruccionesEvent, 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 como Public 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.

No hay comentarios.:
Publicar un comentario