No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

12 Días
20 Hrs
36 Min
37 Seg

Implementación de interfaces

8/35
Recursos

En C# no existe la herencia múltiple, sin embargo, esto no es una limitante para hacer que un objeto se vea como otros objetos diferentes ya que podemos recurrir al uso de interfaces.
Una interfaz es la definición de la estructura de un objeto. Las interfaces las podemos tomar como contratos en las que obligamos a que los objetos cumplan determinadas características.

Aportes 31

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Las interfaces son soluciones alternativas para intentar manejar herencia múltple, básicamente son firmas que exigen a las clases que la implementen usar los métodos o propiedades estipulados, la diferencia entre una interface y una clase, es que: en la interface no se puede asociar lógica de negocio sobre sus métodos.

Un uso práctico de las interfaces es ligar a subclases que tengan cosas en común pero no en todos los casos

Por ejemplo:
Clase Padre
Clase Hijo1,Hijo2,Hijo3 (Los 3 heredan de Padre)
Solo Hijo1 e Hijo2 son zurdos, quiero presentar todos los Hijos zurdos

Solución: Crear una interfaz IZurdo para que implementen Hijo1 e Hijo 2 para que la cliente realice polimorfismo puro.y presentar solo las clases que implementen IZurdo
😄

Este foreach:

            foreach (var curso in Cursos)
            {
                curso.LimpiarLugar();
            }

es lo mismo que esto:

            Cursos.ForEach( a=>a.LimpiarLugar());

Implementación de interfaces

En C# no existe la herencia múltiple, sin embargo, esto no es una limitante para hacer que un objeto se vea como otros objetos diferentes ya que podemos recurrir al uso de interfaces.
Una interfaz es la definición de la estructura de un objeto. Las interfaces las podemos tomar como contratos en las que obligamos a que los objetos cumplan determinadas características.

En mi trabajo, se trabaja con un aplicativo monolítico, como contiene muchos módulos, se usan las Interfaces, ¿Por qué? simplemente por que las Interfaces te permiten hacer cambios transversales en el aplicativo, así que cuando modificamos el contrato de una interface, el compilador te muestra los mil y un errores donde implementas la interface, en otras palabras, es una herramienta muy útil para realizar cambios transversales en los aplicativos.

Una interfaz una definición de la estructura que debe de tener un objeto, ademas de eso es un contrato que dice que condiciones debe cumplir un objeto bajo una circunstancia.

Una Interfaz es un molde que debe tener un objeto, el cual se obliga a cumplir con sus propiedades y metodos.

Un pequeño resumen de esta clase que se refiere a la Implementación de Interfaces:
Para entender lo que es interfaces tomamos como referencia la herencia múltiple, ya que es la funcionalidad que se asemeja, y se dice se asemeja porque en C# no existe.

Entonces esto quiere decir que una interface Es la definición de la estructura de un objeto ahora veamos el ejemplo de una estructura definida en un interface.

Se quiere implementar otro atributo en Escuela, en este caso es dirección

namespace CoreEscuela.Entidades
{
    public interface ILugar
    {
         string Direccion {get; set;}
         void LimpiarLugar();
         
    }
}

Creamos la interface con la definición de su estructura que tendrá Direccion y un método que se llama LimpiarLugar()

Para implementar esta interface en las clases que querramos sera así

public class Escuela: ObjetoEscuelaBase,ILugar

Como ya se está estableciendo una herencia, lo que hacemos es poner después del objeto padre una com
Ahora emplearemos la estructura definida de una manera diferente en dos clases distintas
En la clase Curso

public void LimpiarLugar()
    {
       Printer.DrawLine();
       Console.WriteLine("Limpiando Establecimiento dirección....");
       Console.WriteLine($"Curso {Nombre} Limpio");

    }

En la clase Escuela

public void LimpiarLugar()
    {
       Printer.DrawLine();
       Console.WriteLine("Limpiando Escuela ....");
       foreach(var curso in Cursos)
       {
           curso.LimpiarLugar();
       }
       Console.WriteLine($"Escuela {Nombre} Limpia");

    }

Las interfaces son algo “Pro”, son utilizadas para poder tener una “mantenibilidad” del código; además que es una buena práctica.

Al usarlo en proyectos pequeños no se puede notar la diferencia, no obstante, en grandes proyectos hace una enorme diferencia.

También mejora la eficiencia a nivel de código, por lo tanto, debe ser utilizado si o si.

Una interfaz es una definición que debe tener un objeto. Es un control.

podemos implemetar las interfaces en cualquier clase sin importar que relación tengan.
ejemplo

interface IRuido {
	void HacerRuido();
}

class Person : IRuido {
	void HacerRuido() {
		Console.WriteLine("Cualquier ruido de humano");
	}
}

class Radio: IRuido {
	void HacerRuido() {
		Console.WriteLine("Estoy sonando");
	}
}

Ejemplo de una interfaz en visual studio

<using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Estudiantes
{
    interface Animales
    {
        String obtenerRaza();
    }
}
>

Las interfaces no tienen modificadores de acceso todos son públicos

Probando las interfaces explicita, me di cuenta que estas solo prueden ser privadas, no puden ser publicas.

Para definir que una clase implementa un interfaz se usa coma, asi: class hijo:padre, interfaz{}

Una interfaz es la definición de los metodos que debe implementar una clase.

Entonces la interfaz es una definicion que obliga a una clase a tener que incorporar propiedades y metodos.

Nota: En la interface no me permite declarar variables, solo propiedades y metodos. Estos no se deben rellenar.

Para que les aparezca la opción de “New C# Interface” deben descargar en Visual Studio Code la extensión “C# Extensions” de “jchannon”.

😎

Excelente

Una clase que implemente una interfaz DEBE tener todas las propiedades y los métodos de dicha interfaz.

interfces : funcionalidades de los objetos

Una interfaz posee los métodos que serán implementados en los objetos que la invoquen.
Cada objeto que implemente una interfaz deberá detallar el método de la interfaz en su código.

Implementacion explicita sirve para separar por así decirlo los atributos de la interfaz y la clase si por alguna razón se requiere para identificar plenamente el atributo correspondientemente...

las interfaces son firmas que deben cumplir los objetos que las implementen.

Implementar Interfaces de forma Explicita… para poder determinar que métodos o firmas corresponden a que Interfaz o contrato.

La interfaces nos sirven para definir que métodos y propiedades deben tener las clases que hagan uso de la interfaz, al implementar de una interfaz nos obligará a crear las propiedades y métodos definidos en el.

Alguien me puede ayudar a entender cuando usar una interfaz y cuando usar una clase abstracta ? 😃

Tengo entendido que las Interfaces son usadas como una buena práctica en la programación orientada a objetos, pero no me quedo claro como se usarían y cual la ventaja de usarlas.

Una interfaz es una definición de la estructura que debe tener un objeto.

una manera simple y comoda de explicar las interfaces, muchas gracias