Introducción

1

Programación Avanzada en C# con Netcore

Etapa 5 – POO reutilicemos nuestro código

2

Reutilización de Código en C y Programación Orientada a Objetos

3

Herencia y Polimorfismo en Programación Orientada a Objetos

4

Polimorfismo en Programación Orientada a Objetos

5

Polimorfismo en Programación: Uso y Errores Comunes en Visual Studio

6

Validación y Conversión de Tipos en C# para Gestión de Objetos Escuela

7

Sobrescritura de Método ToString para Depuración Eficiente

Etapa 6- Ajustes y funcionalidad

8

Implementación de Interfaces en Programación Orientada a Objetos

9

Uso de Interfaces y Polimorfismo en Visual Studio Code

10

Uso de Regiones en Visual Studio para Mejorar la Legibilidad del Código

Etapa 7 – Preparando información para nuestros reportes

11

Manejo Avanzado de Métodos y Parámetros en Programación

12

Manejo de Parámetros de Salida en Visual Studio Code

13

Sobrecarga de Métodos para Parámetros de Salida Opcionales

14

Optimización de Listas: Buenas Prácticas en C#

15

Uso de Diccionarios en C# para Gestión de Datos en Aplicaciones

16

Creación y Manejo de Diccionarios en C# para Aplicaciones Escolares

17

Uso de Constantes y Enumeraciones para Optimizar Diccionarios en C#

18

Creación y Manejo de Diccionarios en C# para Gestión Escolar

19

Impresión de Diccionarios en Visual Studio con C#

20

Filtrado y Personalización de Impresión en C#

21

Uso del operador switch en Visual Studio para optimizar código

22

Optimización de Algoritmos y Eventos en C#

23

Diccionarios y Refactoring en Programación Básica

Etapa 8 – Consultas

24

Consultas y Reportes en Proyectos C# Básicos

25

Generación segura de reportes en sistemas de información

26

Generación de Reportes en Visual Studio Code

27

Creación de Reporte de Evaluaciones por Asignatura en Programación OO

28

Creación de Reportes Complejos con LinQ en Visual Studio

29

Cálculo del Promedio de Notas Agrupadas por Alumno y Asignatura

30

Creación de Tipos de Datos Personalizados en Programación Avanzada

31

Generación de Reportes con LINQ en C#

Etapa 9 – Creando una UI de Consola

32

Manejo de Excepciones y Captura de Datos en Consola en C#

33

Manejo de Excepciones en C#: Try, Catch y Finally

34

Creación de Menú de Reportes en Consola en C

35

Evaluación y Retroalimentación del Curso Básico de C

No tienes acceso a esta clase

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

Implementación de Interfaces en Programación Orientada a Objetos

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