‫En esto, en los próximos videos, aprenderá acerca de las interfaces y son bastante
‫importantes porque realmente extienden la funcionalidad de la programación orientada a objetos y de las clases.
‫Entonces, ¿qué es una interfaz?
‫Bueno, piense en las interfaces como contratos donde una clase que implementa una interfaz acepta proporcionar implementaciones para
‫todos los objetos definidos por esa interfaz.
‫Esto significa que una interfaz contendrá los términos, métodos y propiedades del contrato.
‫Pero cómo los implementemos depende de la clase que implemente la interfaz.
‫Mientras estos métodos de interfaz se implementen en nuestra clase, la interfaz seguirá siendo feliz.
‫Entonces, las interfaces no pueden contener implementaciones que sean importantes.
‫Por lo tanto, sus nombres generalmente tienen el prefijo del ojo para distinguirlos de otros objetos afilados en C.
‫Creamos interfaces usando la palabra clave interfaz.
‫Ahora veamos cómo podemos hacer eso en la práctica.
‫Muy bien, estamos de regreso en Visual Studio, por lo que una de las funcionalidades más utilizadas
‫en nuestras clases de C sharp es comparar con instancias de una clase, esto se hace usando el método equals.
‫Esto se comparará para ver si la referencia a ambas clases es la misma.
‫Sin embargo, queremos compararlos y ver si son iguales basándonos en algún otro campo para que
‫podamos lograrlo implementando una interfaz llamada I Equatable.
‫Entonces, en nuestro caso, tenemos una clase llamada ticket y define una propiedad llamada duración en horas.
‫Así que sigamos adelante y creemos esta clase.
‫Muy rápido, aquí tengo una nueva clase y, de hecho, puedo ir aquí o usar el control de acceso directo K y
‫C, y voy a llamar a este boleto.
‫Entonces, este boleto, como dije, solo tiene una propiedad y un constructor.
‫Así que pongámoslos aquí.
‫Entonces, esta propiedad está ahí para almacenar variaciones del boleto y el nuestro.
‫Y luego tenemos el constructor aquí.
‫Y ahora sigamos adelante e implementemos la interfaz equitativa, por lo tanto, usamos algo similar a lo que
‫hicimos cuando usamos la herencia, usamos los dos puntos y luego la interfaz que queremos usar.
‫Y ves que hay un montón de ellos.
‫Y el que quiero usar va a ser el I equiparable.
‫Ahora necesita definir qué tipos de objetos desea comparar.
‫Así que aquí quiero comparar boletos entre sí.
‫Es por eso que necesito agregar una palabra clave de ticket.
‫Ahora notará que Visual Studio no está muy contento porque dice que define un método generalizado a un tipo de
‫valor de implementaciones de clase para crear un método específico.
‫Pero el problema que tenemos aquí es que el ticket no implementa los miembros de la interfaz.
‫Billete equitativo es igual a secreto.
‫Podemos solucionarlo muy fácilmente con solo seguir adelante e implementar esto, por lo que podríamos haber usado todos
‫los miembros para implementarlos explícitamente o simplemente hacerlo manualmente.
‫Hagámoslo muy rápido.
‫Básicamente, quiero devolver un booleano que verificará si el boleto que estoy pasando, que será el
‫otro boleto, será el mismo que el boleto.
‫Ese es el que llama a este método.
‫OK, entonces el boleto.
‫Lo que creamos a partir de esto, lo comparamos con otro ticket y luego queremos comparar las horas de duración.
‫Entonces, si tienen la misma duración, asumiremos que son el mismo boleto.
‫Bien, aquí podemos seguir adelante y devolver la comparación de esta duración en horas con la otra
‫duración y horas.
‫Básicamente, estamos diciendo que este boleto tiene una duración y horas y el otro boleto también es de ese boleto.
‫Entonces tiene una duración en horas y estamos comparando los dos entre sí.
‫Y esta comparación, este doble signo igual básicamente regresará.
‫¿Verdadero o falso?
‫Bien, este es el operador de toros a la izquierda y a la derecha.
‫Entonces, lo que hace es comparar lo que le queda con lo que le queda bien.
‫Y si son iguales, volverá verdadero.
‫De lo contrario, devolverá falso.
‫Básicamente, decir que este método equals devolverá verdadero si el boleto que llama al método equals tiene la misma
‫duración y horas que el boleto con el que lo comparamos, luego regresará.
‫Verdadero, si no, devuelve falso.
‫Bien, vayamos a nuestros programas.
‫Si.
‫Y de hecho usa esto.
‫Así que aquí vamos a crear dos tickets.
‫Uno será el T uno y será un boleto nuevo y tendrá una duración y horas de diez.
‫Y luego copiemos esto y creemos un ticket dos, que también tendrá diez horas y ahora podemos
‫compararlos.
‫Entonces, aquí, usemos la línea derecha de control para mostrar T dos puntos iguales y comparar T uno con él.
‫Entonces, básicamente, puede comparar nuestro boleto con nuestro boleto uno y compararlo utilizando el método de iguales.
‫Ahora ejecutemos esto muy rápido.
‫Y verá que dice verdadero, y ese no suele ser el caso para el método de iguales, porque si compara
‫con objetos usando un método de igual a normal, por así decirlo.
‫Entonces, si no tuviéramos que implementar esto, eliminémoslo aquí por un segundo.
‫Así que comentemos todo esto y comparémoslo con usted.
‫Mira, el método todavía está ahí.
‫Este igual todavía funciona porque igual es un método que existe en general, y ahora ve que dice falso porque
‫equals es un método que está dentro de la clase de objeto.
‫Y la clase de objeto siempre tiene este método igual porque cada clase hereda del objeto.
‫Pero ahora lo que estamos haciendo es implementar nuestro propio método de iguales mediante el uso de la interfaz equatable.
‫Entonces estamos usando una interfaz específica que nos permite comparar a nuestra manera, por así decirlo, e implementar nuestro propio
‫código.
‫Entonces, si comparamos los dos, no estamos comparando si el objeto es exactamente el mismo con el que lo estamos
‫comparando.
‫Pero si en nuestro caso, el tiempo en el nuestro es el mismo.
‫Entonces la duración y la nuestra es la misma, y luego volverá.
‫Verdadero.
‫Entonces, si la hora y las horas no son las mismas, digamos que son las seis, entonces devolverá falso porque la
‫duración no es la misma para los dos boletos que estamos comparando entre sí.
‫Así que este fue solo un ejemplo usando una interfaz simple que existe.
‫Y como vio, hay muchas interfaces que existen automáticamente al crear un proyecto especial.
‫Pero veremos cómo crear nuestras propias interfaces y usarlas en el siguiente video.
‫Así que nos vemos allí.