Interfaz C#

Interfaz C#
Al igual que las clases, hay algunos otros contenedores llamados interfaces que contienen métodos, eventos y propiedades. Las interfaces contienen solo la declaración y la definición de las funciones; toda la descripción se usa en otro lugar del programa o principalmente en otras clases que heredan la interfaz. Las interfaces no tienen sus miembros privados. Todos los miembros de la descripción de la función son públicos y actúan como información abstracta. Una interfaz se define utilizando la interfaz de nombre de la palabra clave junto con el nombre que desea dar. Al usar clases, no podemos realizar el fenómeno de las herencias múltiples. Pero al usar interfaces es posible realizar herencias múltiples. El funcionamiento de la interfaz se discutirá aquí.

Sintaxis para declarar una interfaz

Interfaz




Después de definir la interfaz, ahora las implementaremos utilizando la siguiente sintaxis:

# Clase X: name_of_interface

Esta declaración se realiza utilizando el nombre de la interfaz asociada a una clase con un colon. Al hacer esto, todos los miembros dentro de la interfaz se declaran vacías, una clase que implementa la interfaz debe implementar todas las características de la interfaz.

Implementación de la interfaz

Ejemplo 1

Declararemos la interfaz con su nombre después de la declaración de una biblioteca. Dentro de la interfaz, solo declararemos el nombre de la función. El tipo de retorno también se mencionará. La interfaz contiene solo los encabezados de la función que no contiene la descripción relacionada con la función. Entonces, cerramos el cuerpo de la interfaz porque solo se define una sola función aquí.

Interfaz inter1

visualización vacía ();

Para que la función se ejecute, usamos una clase como un programa simple C. Pero para la interfaz, el nombre de la clase se declara a lo largo de la interfaz para asociarse con ella.

# Clase de prueba Class: Inter1

Dentro de la clase, la función está escrita. Simplemente hemos usado la instrucción de la consola para mostrar una oración de muestra.

En el programa principal, crearemos el objeto para la clase. Esta declaración se realiza dinámicamente con el uso de la "nueva" palabra clave.

TestClass t = new testClass (); este objeto se usará para llamar a la función declarada dentro de la clase después de que se cree el objeto.

# T.mostrar();

Ahora ejecutaremos el código utilizando un compilador MCS y mono para ejecutar el archivo con el .extensión exe.

Archivo de $ MCS.CS
$ MONO ARCHIVO.exe

En la ejecución, verá que se muestra la oración que se declaró en la interface y ejecutada en una función separada que accede al objeto en el programa principal.

Ejemplo 2

A diferencia del primer ejemplo, utilizaremos tres métodos abstractos en una interfaz. Estas funciones están relacionadas con el vehículo. Cada función contiene parámetros para aceptar los valores que se han enviado desde la llamada de función.

A medida que se declara la interfaz, se implementa una clase para utilizar todas las funciones dentro de la interfaz. Hemos usado dos clases que tienen dos tipos diferentes de vehículos. Cada una implementando las tres funciones que se declaran dentro de la interfaz.

La primera función relacionada con Gear asignará un nuevo valor de engranaje al anterior aceptando el valor del parámetro.

# Gear = NewGear;

La segunda función es sobre la velocidad. Entonces, el valor enviado en el parámetro se agregará al anterior.

# Velocidad = velocidad + incremento;

Contrariamente a la aceleración, la función de frenos se menos o disminuirá el valor enviado del anterior.

# Velocidad = velocidad - disminución;

Los valores de velocidad y engranaje se mostrarán a través de la función. No se declara en la interfaz y es la función estática de la clase.

Otra clase está diseñada para implementar la interfaz. Todos los enfoques para cada función son los mismos que hemos descrito para la primera clase. Del mismo modo, la función de visualización mostrará todos los datos presentes.

Ahora, es hora de declarar el programa principal para acceder a cada clase a través de los objetos respectivamente. Se crea una muestra de clase que tiene el programa principal dentro de él. Como tenemos dos clases para implementar la interfaz, (bicicleta y bicicleta) crearemos objetos por separado para cada clase.

Primero, para la bicicleta:

# Bicicleta bicicleta = nueva bicicleta ();

La creación de objetos se realizará dinámicamente. A través de este objeto, cada función se llama.

# Bicicleta.ChangeGear (2);

Cada parámetro de la función contiene el valor de tipo entero en el argumento. Entonces cada resultado se muestra llamando a la función de visualización.

Después de la bicicleta, se creará la instancia de la bicicleta.

# Bike Bike = nueva bicicleta ();

Del mismo modo, todas las llamadas de función se realizarán a través de este objeto de bicicleta.

# Bicicleta.aceleración (4);

Ahora, ejecutaremos el código para ver cómo funciona. Mientras se ejecuta, tanto los valores para el engranaje como la velocidad para cada clase se muestran por separado, dependiendo de la secuencia de la creación de objetos y la función que llama a través del objeto.

Ejemplo 3

En el ejemplo anterior, solo hemos mostrado los valores directamente en el programa que se declaran en la interfaz. Pero esta vez, calcularemos el área de un polígono teniendo la función en dos formas diferentes. Echemos un vistazo a la implementación del ejemplo. Primero, declararemos la interfaz aquí.

Interfaz ipolygone

Void calculatearea ();

La función no contiene ningún parámetro con ella. Esto significa que todas las variables se definen localmente dentro de la función. Después de la interfaz, declararemos un rectángulo de clase que implementará la interfaz Ipolygon. Entonces, asociaremos la clase con el nombre de la interfaz.

# Rectángulo de clase: ipolygone

Dentro de la clase, la función calculatearea se usa. Dentro de la función, todas las variables se asignan con un valor. Estos valores se usan en la fórmula para calcular el área del rectángulo.

# int área = l * b;

Después de los cálculos, se muestra el valor resultante.

El mismo fenómeno de la implementación de la interfaz Ipolygon se realiza para la forma cuadrada. Pero como todos los lados del cuadrado son iguales, no necesitamos longitudes de dos lados. Todos los lados son de igual longitud, por lo que el área se calculará multiplicando dos longitudes entre sí.

# int área = l * l;

En el programa principal, se crean los objetos para ambas clases y luego la función se llama a través de estos objetos.

rectángulo ri = new rectangle ();
R1.calculatearea ();

El mismo enfoque va para la clase cuadrada.

Ahora ejecute el código, puede ver que ambas áreas de diferentes cuadrados se muestran llamando a las funciones a través de sus objetos respectivamente.

Conclusión

C Sharp Interface se utiliza para ocultar alguna información especificada de cierta manera para mostrar solo esa información que es importante. Al definir la interfaz, hemos visto que solo se describe el encabezado de la función. La declaración del encabezado consiste en el tipo de retorno de la función y el argumento que está presente en el parámetro. En este artículo, hemos implementado algunos ejemplos en el sistema operativo de Linux. En cada ejemplo, se define una interfaz separada que contiene un solo o número de interfaces que se describen más adelante en sus respectivas clases.