No tienes acceso a esta clase

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

Uso de interfaces

9/35
Recursos

Desde el punto de vista de la programación orientada a objetos cualquier objeto puede ser visto como una interfaz.

Haciendo uso de Linq vamos a seleccionar de nuestra lista de objetos todos los objetos y les haremos casting con ILugar. Si no declaramos que nos retorne sólo los objetos que sean de tipo ILugar, entonces el programa al realizar el casting va a causar errores silenciosos.

Aportes 27

Preguntas 5

Ordenar por:

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

Dejo un ejemplo de Linq con lambda

var listaIlugar = lstObjetos.Where(x => x is ILugar).ToList();

la interfaz no es lo mismo que la herencia, la herencia valga la redundancia hereda atributos, mientras que la interfaz es una especie de contrato o condición de implementar requisitos de acuerdo a una estructura o modelo predispuesto en la interfaz...

Lo primero que se me viene a la cabeza con el nombre de interfaz, es un Frame como en JAVA.

Llevo bastante tiempo utilizando POO, sin embargo, hasta ahora me queda claro el concepto de interfaz. Mil gracias!

te dice exactamente cual curso se esta limpiando xD

public void ClearAddress()
        {
            Printer.PrintText($"Cleaning {name}");
            Printer.PrintText($"The {name} have been cleared successfully");
        }


Gracias, ésta es otra de las clases muy buenas. hacer querys de linq por medio de interfaces es algo que común mente no se hace, pero viendo la clase es de gran utilidad. si a alguien aún no le queda claro un uso concreto de las interfaces, les sugiero leer un poco la teoría de WCF de .net donde se ven varios conceptos como ServiceContract (interface) DataContract (campo o propiedad de una interface) y OperationContract (método definido en la interface del servicio). Ya cuando vi todo eso funcionando en conjunto me quedó 100% claro la utilidad de una interface.

El error silencioso se debe a que en la consulta LinQ no se hace un ToList() al final de la consulta.
Seria algo asi (from obj in listaObjetos where obj is ILugar select (ILugar) obj).ToList() ahi aparecería el error que dice el instructor.

Las interfaces no heredan comportamiento, heredan un contrato que se debe garantizar que se cumple.

Ejemplo de codigo de una interfaz

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

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

Implementacion

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

namespace Estudiantes
{
    class Cerdo : Animales
    {
        public string obtenerRaza()
        {
            return "Crianza";
        }
    }
}
>

Muy interesante ejemplo de filtrar objetos que hereden de una interfaz y al hacer el casteo de un objeto a una interfaz hace posible acceder/Utilizar los métodos y propiedades de la interfaz como si fuese una clase normal.

zaz, tuve que ver los videos 4 veces para entender las interfaces

Obtener solo los objetos que cumplan con una condición. Interfaces.

¡Hola! Si han usado nodemon con node.js o han usado liveserver para aplicaciones con HTML, pueden ejecutar el siguiente comando para que se ejecute el programa cada vez que se guarde o se detecte algún cambio en los archivos:

dotnet watch run

Si como yo, lo tienen en otro directorio el código, lo pueden ejecutar también así:

dotnet watch run --project src

La definición de Interfaz es de las preguntas mas comunes en las entrevistas de trabajo para .net y de las que mas me causaron problemas, la forma en que logre pasarlas fue: Una interfaz define el comportamiento mas no la implementación.

Uso de where con LINQ, para filtrar objetos de una lista por una condición. Similar a SQL pero con listas

Interesante la clase.

Interesante

Hola…disculpe la molestia pero me gustaria poder tener acceso al código de la clase para analizarlo mas a detalle…¿dónde podré encontrarlo?

Mi problema es que no me queda claro como hacer el cast de objetos usando linq.

Gracias de ante mano.

Printer.WriteTitle($"Alumnos totales: {(listaILugar as IEnumerable<Alumno>).Select(a => a).Distinct().ToList().Count}");
(listaILugar as IEnumerable<Alumno>).Select(a => a).Distinct().ToList().ForEach(b => Console.WriteLine(b.Nombre));


Printer.WriteTitle($"Alumnos totales: {(listaILugar as IEnumerable<Alumno>).ToList().Count}");
(listaILugar as IEnumerable<Alumno>).ToList().ForEach(b => Console.WriteLine(b.Nombre));```

Excelente contenido de esta clase es genial

muy buena clase

Profe Juan … estaría bien concluir que las interfaces, según lo visto en la clase (y algo de experiencia en desarrollo) ¿se usan esencialmente para regular un comportamiento que es común a clases que no guardan una relación de herencia? Y además ¿se usan para generar abstracciones entre clases en aras de reducir el acoplamiento entre las mismas?

Muy claro el concepto de interfaz :3.

interfaz = contrato, clara la explicación,

Es una buena herramienta para contener objetos pertenecientes a clases que implementan la interfaz.

desde el punto de vista de la programación orientada a objetos cualquier cosa puede ser una interfaz

Las interfaces es más abstracto, en POO todo se podría interpretar como una interfaz a través de Linq