Red de conocimiento informático - Computadora portátil - ¿Qué son las interfaces en C#? El significado exacto y el papel de las interfaces.

¿Qué son las interfaces en C#? El significado exacto y el papel de las interfaces.

Las interfaces se utilizan para definir protocolos de programación. La clase o estructura que implementa la interfaz debe ajustarse estrictamente a la definición de la interfaz. Con este protocolo, las limitaciones del lenguaje de programación pueden dejarse de lado (en teoría). Una interfaz puede heredar múltiples interfaces básicas y una clase o estructura puede implementar múltiples interfaces. Las interfaces pueden contener métodos, propiedades, eventos e indexadores. La interfaz en sí no proporciona implementaciones para sus miembros definidos. Una interfaz solo especifica los miembros que debe proporcionar la clase o interfaz que la implementa.

Una interfaz es como una plantilla que define los métodos que un objeto debe implementar para hacer referencia a estos métodos como instancias de interfaz. No se puede crear una instancia de la interfaz. Las clases pueden implementar múltiples interfaces y están indexadas por esas implementaciones. Las variables de interfaz solo pueden indexar instancias de clases que implementan la interfaz. Ejemplo:

Interfaz IMyExample {

string this[int index] { get set }

Evento EventHandler Even ;

void; Find(int value);

string Point { get ; set }}public delegado void EventHandler(objeto remitente, Evento e); La interfaz en el ejemplo anterior contiene un índice, un evento Par y un método Buscar y una propiedad Punto. En el siguiente ejemplo, la interfaz "IComboBox" hereda tanto de "ITextBox" como de "IListBox".

interfaz IControl {

void Paint() ;}interfaz ITextBox:IControl {

void SetText(texto de cadena) ;}interfaz IListBox:ICONTROL {

p>

void SetText(cadena de texto);}interfaz IListBox.{

void SetItems(cadena[] elementos);}interfaz IComboBox: ITextBox, IListBox { } clases y estructuras Se pueden crear instancias de la interfaz varias veces. En el siguiente ejemplo, la clase "EditBox" hereda de la clase "Control", así como de "IDataBound" e "IControl".

interfaz IDataBound {

void Bind(Binder b);}clase pública EditBox: Control, IControl, IDataBound {

public void Paint( );

p>

EditBox de clase pública: Control, IControl, IDataBound {

Paint público vacío ()

Enlace público vacío (Carpeta b) {...}

} En el código anterior, el método "Paint" proviene de la interfaz "IControl", mientras que el método "Bind" proviene de la interfaz "IDataBound", y ambos están implementados como "públicos" en el archivo " Clase EditBox".

Nota: - Las interfaces en C# se definen independientemente de las clases. Esto contrasta con el modelo C++, donde las interfaces son en realidad clases base abstractas.

- Tanto las interfaces como las clases pueden heredar de múltiples interfaces.

- Las clases pueden heredar de las clases base, mientras que las interfaces no pueden heredar de las clases en absoluto. Este patrón evita el problema de herencia múltiple en C++, donde las implementaciones en diferentes clases base pueden entrar en conflicto.

El modelo de interfaz simplificado de C# ayuda a acelerar el desarrollo de aplicaciones.

- Una interfaz define un tipo de referencia que solo tiene miembros abstractos. En C#, la función real de la interfaz es solo la existencia de indicadores de método, sin ejecutar código alguno. Esto significa que no puede crear una instancia de una interfaz, solo puede derivar un objeto de la interfaz.

- Las interfaces pueden definir métodos, propiedades e índices. Entonces, lo que tienen de especial las interfaces en comparación con las clases es que cuando defines una clase, se puede derivar de múltiples interfaces, mientras que solo puedes derivar de una clase.

Por favor visite el sitio web. Hay muchas explicaciones sobre interfaces y clases abstractas aquí