Descripción de la interfaz de Visual C#
La interfaz (interfaz) se utiliza para definir un acuerdo de programa. La clase o estructura que implementa la interfaz debe ser estrictamente consistente con la definición de la interfaz. Con este acuerdo, puede dejar de lado las limitaciones de la. lenguaje de programación (teóricamente). La interfaz puede heredar de múltiples interfaces base 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 una implementación de los miembros que define. La interfaz solo especifica los miembros que debe proporcionar una clase o interfaz que implementa la interfaz. /p>
Una interfaz es como una plantilla. Esta plantilla define los métodos que un objeto debe implementar. Su propósito es permitir que se haga referencia a estos métodos como instancias de interfaz. No se pueden crear instancias de las interfaces. Las clases pueden implementar muchas interfaces y las interfaces implementadas a través de estas están indexadas. Las variables de interfaz solo pueden indexar instancias de clases que implementan la interfaz. > ?
interfaz IMyExample {
p>
string this[int index] { set }
event EventHandler; ;
void Find(int valor);
string Point { get; set; objeto remitente Evento e);
?
El ejemplo anterior La interfaz contiene un índice this, un evento Even, un método Find y una propiedad Point
La interfaz puede admitir herencia múltiple, al igual que en el siguiente ejemplo, la interfaz IComboBox hereda tanto de ITextBox como de IListBox
interfaz IControl { /p>
void Paint( );
}
interfaz ITextBox: IControl {
void SetText(texto de cadena
<); p>}interfaz IListBox: IControl {
void SetItems(cadena[] elementos
}
interfaz IComboBox: ITextBox); IListBox { }
Las clases y estructuras pueden crear instancias de interfaces varias veces como en el siguiente ejemplo. Class EditBox hereda la clase Control y también hereda de IDataBound e IControl
interfaz IDataBound {
void Bind(Binder b);
}
clase pública EditBox: Control IControl IDataBound { ? p>
pintura pública vacía () ;
Public void Bind(Binder b) { }
}
En el código anterior, el método Paint se deriva de la interfaz IControl El método Bind proviene de la interfaz IDataBound y se implementa como público en la clase EditBox
Descripción
C# La interfaz en C se define independientemente de la clase, lo cual es contrario al modelo C. En C, la interfaz es en realidad una clase base abstracta
¿Ambas? las interfaces y las clases pueden heredar múltiples interfaces
Mientras que una clase puede heredar una clase base, una interfaz no puede heredar una clase en absoluto. Este modelo evita el problema de herencia múltiple de C. Las implementaciones en diferentes clases base en C pueden entrar en conflicto. Por lo tanto, tampoco hay necesidad de mecanismos complejos como la herencia virtual y el alcance explícito. El modelo de interfaz simplificado de C# ayuda a acelerar el desarrollo de aplicaciones.
? >Una interfaz define un tipo de referencia de miembro de abstracción. Lo que realmente hace una interfaz en C# es solo existir indicadores de método pero no se ejecuta ningún código. Esto implica que no se puede crear una instancia de una interfaz y solo se puede crear una instancia de un objeto derivado de la interfaz
?
Las interfaces pueden definir atributos e índices de métodos, por lo que la característica especial de una interfaz de clase es que al definir una clase, puede derivar de múltiples interfaces, pero solo puede derivar de una sola. clase
Interfaces y componentes
Las interfaces describen los servicios proporcionados por los componentes al mundo exterior. Se pasan entre componentes. y entre los componentes y los clientes interactúan, por lo que una vez que se lanza un componente, solo puede proporcionar servicios razonablemente consistentes a través de interfaces predefinidas. Esta estabilidad entre las definiciones de interfaces permite a los desarrolladores de aplicaciones cliente construir aplicaciones robustas. La interfaz de un componente específico también puede ser implementada por múltiples componentes
?
La interfaz del componente debe ser autodescriptiva, lo que significa que la interfaz del componente no debe depender de la implementación específica. La implementación y la interfaz eliminan por completo la relación de acoplamiento entre el usuario de la interfaz y el implementador de la interfaz, y mejoran el grado de encapsulación de la información. Al mismo tiempo, esto también requiere que la interfaz del componente deba utilizar un lenguaje que no tenga nada. que tiene que ver con la implementación del componente. El estándar de descripción actual para las interfaces de los componentes es el lenguaje IDL.
Dado que la interfaz es un protocolo entre componentes, una vez que se publica la interfaz del componente. El productor del componente debe mantener la interfaz sin cambios tanto como sea posible sin ningún cambio en la sintaxis o la semántica de la interfaz. ¿Cualquier cambio puede dañar la conexión entre los componentes existentes y los clientes?
Cada componente es autónomo y tiene sus propias funciones únicas a las que solo se puede acceder a través de la interfaz. Comunicarse con el mundo exterior. Cuando un componente necesita proporcionar nuevos servicios, se puede lograr agregando una nueva interfaz sin afectar a los clientes existentes de la interfaz original. , y los nuevos clientes pueden volver a seleccionar una nueva interfaz para obtener servicios
Programación basada en componentes
¿Basada en componentes? El método de programación hereda y desarrolla el método de programación orientada a objetos. Aplica la tecnología de objetos al diseño del sistema y el proceso de implementación de la programación de objetos se ha resumido aún más. Podemos utilizar el método de programación de componentes como método para construir el nivel de arquitectura del sistema. Y es muy conveniente utilizar el método orientado a objetos.
?
La programación basada en componentes enfatiza la verdadera reutilización del software y un alto grado de interoperabilidad. Se centra en la generación y ensamblaje de componentes, que en conjunto constituyen el proceso de generación del núcleo. Los componentes de la programación centralizada no son solo la demanda de los sistemas de aplicaciones. El mercado de componentes en sí también promueve el desarrollo de componentes y promueve la comunicación y la cooperación entre los fabricantes de software. El ensamblaje de componentes permite que los productos de software se construyan rápidamente utilizando un método similar a los bloques de construcción. No solo puede acortar el ciclo de desarrollo de productos de software sino también mejorar la estabilidad y confiabilidad del sistema.
El método de programación de componentes tiene las siguientes características
<. p> ?Independencia de lenguajes de programación y entornos de desarrollo
Transparencia de ubicaciones de componentes
p>
Transparencia del proceso de los componentes
Escalabilidad
Reutilizabilidad
? /p>
¿Tiene una infraestructura sólida
?
Servicios públicos *** a nivel de sistema
¿El lenguaje C#? es muy adecuado para la programación de componentes debido a sus muchas ventajas. Sin embargo, esto no significa que C# sea un lenguaje de programación de componentes, ni que C# proporcione herramientas para la programación de componentes. Hemos señalado repetidamente que los componentes deben tener las mismas características. Como características irrelevantes, recuerde esto. El modelo de componente es una especificación, independientemente del lenguaje de programación que se utilice para diseñar componentes, debe cumplir con esta especificación, por ejemplo, en el ejemplo de ensamblaje de una computadora. las especificaciones de los accesorios y las interfaces proporcionadas por varios fabricantes cumplen con estándares unificados, estos accesorios La combinación puede funcionar en conjunto. Lo mismo ocurre con la programación de componentes. Solo decimos que usar el lenguaje C # para la programación de componentes nos brindará una mayor comodidad. p> ? lishixinzhi/Article/program/net/201311/11825
p>