Hubiese sido bueno el tema de upcasting y downcasting, aqui les dejo info para que investiguen un poco mas del tema.
Creo esta entendible => https://www.c-sharpcorner.com/article/polymorphism-up-casting-and-down-casting/
Introducción
Todo lo que aprenderás sobre C#
Etapa 5 – POO reutilicemos nuestro código
Reutilizando nuestro Código
Herencia
Polimorfismo
Problemas del polimorfismo
Lista de Objetos polimórfica
Utilizando ToString para mejorar la depuración
Etapa 6- Ajustes y funcionalidad
Implementación de interfaces
Uso de interfaces
Creación y uso de regiones
Etapa 7 – Preparando información para nuestros reportes
Parámetros de salida
Probando funcionalidades de parámetros de salida
Sobrecargas de métodos
Listas de solo Lectura
Diccionario Polimórfico
Implementación de un diccionario
Uso de numeraciones en diccionario
Introduciendo datos en un diccionario
Recorrido de datos en diccionario
Impresión de objetos de un diccionario
Uso de la sentencia switch
Eventos
Recapitulemos
Etapa 8 – Consultas
Creación del reporteador
Extrayendo datos de un diccionario de manera segura
Aprendiendo linq
Sentencia where de linq
Divide y triunfarás
Agrupamientos en linq
Tipos anónimos en consultas linq
Segundo Reto
Etapa 9 – Creando una UI de Consola
Excepciones y cascadeo de excepciones
Sentencia finally
Reto final
Cierre del curso
Create an account or log in
Keep learning for free! Join and start boosting your career
Contributions 13
Questions 2
Hubiese sido bueno el tema de upcasting y downcasting, aqui les dejo info para que investiguen un poco mas del tema.
Creo esta entendible => https://www.c-sharpcorner.com/article/polymorphism-up-casting-and-down-casting/
En mi opinión personal me parece un pésimo ejemplo hablar de problemas de polimorfismo al querer castear objetos de diferentes clases, ese problema puede existir sin necesidad del polimorfismo y en realidad es una practica muy mala q solo se debe en usar en casos muy pero muy específicos.
no engañen a su sistema :v
En pocas palabras no podemos transformar a un objeto hijo a un objeto de tipo padre ya que si bien el primero hereda, no significa que haga referencia absoluta al padre.
Printer.WriteTitle("Pruebas de Polifomrfismo");
var alumnoTest = new Alumno { Nombre = "Claire UnderWood" };
Printer.WriteTitle("AlumnoTest");
WriteLine($"Alumno: {alumnoTest.Nombre}");
WriteLine($"Alumno: {alumnoTest.UniqueId}");
WriteLine($"Alumno: {alumnoTest.GetType()}");
ObjetoEscuelaBase ob = alumnoTest;
Printer.WriteTitle("ObjetoEscuelaBase");
WriteLine($"Alumno: {ob.Nombre}");
WriteLine($"Alumno: {ob.UniqueId}");
WriteLine($"Alumno: {ob.GetType()}");
var objDummy = new ObjetoEscuelaBase() { Nombre = "Frank Underwood" };
Printer.WriteTitle("bjDummy");
WriteLine($"Alumno: {objDummy.Nombre}");
WriteLine($"Alumno: {objDummy.UniqueId}");
WriteLine($"Alumno: {objDummy.GetType()}");
alumnoTest = (Alumno) ob;
Printer.WriteTitle("AlumnoTest");
WriteLine($"Alumno: {alumnoTest.Nombre}");
WriteLine($"Alumno: {alumnoTest.UniqueId}");
WriteLine($"Alumno: {alumnoTest.GetType()}");
//GENERA ERROR EN TIEMPO DE EJECUCIÓN
/* alumnoTest = (Alumno) objDummy;
Printer.WriteTitle("AlumnoTest");
WriteLine($"Alumno: {alumnoTest.Nombre}");
WriteLine($"Alumno: {alumnoTest.UniqueId}");
WriteLine($"Alumno: {alumnoTest.GetType()}"); */
var evaluacion = new Evaluacion(){Nombre = "Evaluacion 1", Nota=4.5f};
Printer.WriteTitle("evaluacion");
WriteLine($"Alumno: {evaluacion.Nombre}");
WriteLine($"Alumno: {evaluacion.UniqueId}");
WriteLine($"Alumno: {evaluacion.Nota}");
WriteLine($"Alumno: {alumnoTest.GetType()}");
ob = evaluacion;
Printer.WriteTitle("ObjetoEscuelaBase evaluacion");
WriteLine($"Alumno: {ob.Nombre}");
WriteLine($"Alumno: {ob.UniqueId}");
WriteLine($"Alumno: {ob.GetType()}");
// GENERA ERROR EN TIEMPO DE EJECUCIÓN
// alumnoTest = (Alumno)(ObjetoEscuelaBase)evaluacion;
En mi caso como programador he visto que el riesgo que se utiliza cuando se hace poliformismo es la concurrencia para modificar los objetos ya que se puede deformar,
Alguno conoce que problema mas causa el poliformismo?
Osea el polimorfismo esla forma de ver un objeto como el objeto padre, siempre cuando compartan atributos???
Interesante
🤯
No aporto mucho al tema, pero no recuerdo que los flotantes se escribieran con una F al final. Nota = 31.52f por ejemplo.
En fin buena clase.
Antes del casteo se debe verificar el tipo de dato de los objetos aunque hereden de la misma clase padre
Buena Clase
excelente clase muy claro en el uso de polimorfismo en el codigo del proyecto !!!
Want to see more contributions, questions and answers from the community?