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 26

Preguntas 5

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

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...

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

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

te dice exactamente cual curso se esta limpiando xD

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


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.

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.

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

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

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鈥isculpe la molestia pero me gustaria poder tener acceso al c贸digo de la clase para analizarlo mas a detalle鈥β縟贸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