Hasta dan ganas de llorar de la emoción por tan buena explicación, clara y precisa en 20 minutos, cosas que profesores en mi universidad no enseñan en todo un semestre
Gracias a Dios encontré este canal, pensé que era cerrado para esto pero el problema era que no había encontrado un profesor que explicara el tema tan bien.
Muchísimas gracias por este curso profesor, ya casi estoy terminar la carrera y si los profes fueran al menos un 50% de lo que usted es, las cosas serían diferentes!
Jamas habia entendido a la primera el concepto de polimorfismo en la Universidad. Realmente gracias por este curso de CSharp estoy reforzando mucho lo que sabia y aprendiendo cosas nuevas.
Realmente explicas muy bien, lo cual no es solo ser exhaustivo, si no tener un buen ritmo, buenos ejemplos, buenas metáforas y buen enfoque. Se agradece!
En serio, eres fantástico, no sabes lo que me estás ayudando a mejorar poco a poco en programación. Voy aprendiendo poco a poco y esto se está viendo reflejado en mis notas académicas. De verdad, ¡gracias!
Nota, si el método no es virtual y los métodos en cada clase no sobreescriben si no que ocultan, al pasar el array de tipo Mamíferos por el bucle for o for each, y ejecutar el método en cada ciclo, solo mostrará el resultado de la superclase. Excelente el curso por cierto!
Todos los dias de mi vida agradezco la existencia de tus cursos. De los años que vengo aprendiendo, no encontre otros que te superen. Incluso me apunte en cursos en los cuales te referian a vos JAJAJJAJAJAJ. Eres magistral.
Que hermoso momento eureka que vivi, no entendia muy bien hasta que llega al final y poom, fue como :O ahora todo tiene sentido y me quedo claro a la primera. Que gran maestro que eres. Me tomo con tiempo las clases y no avanzo de capitulo hasta que lo nuevo me quede aprendido, hasta utilizo a chatgpt para que me cree ejercicios con situaciones y yo los deba solucionar con lo aprendido hasta el momento, asi voy practicando lo nuevo y cuando me queda claro todo ahi avanzo al nuevo video.
Excelente video y como siempre te superas en cada explicacion, vengo del curso de java y python y alli ya eran buenas explicaciones pero esta me gustado aun mas por eso siempre veo otra vez los conceptos aunque ya lo haya visto de otros curso siempre se puede mejorar , afianzar o reforzar lo aprendido, gracias por compartir tus conocimiento
Profesor no deje de subir sus videos, y porfavor suba videos de c# avanzado con conexiones a sql porfavor se lo agradesería mucho, Saludos desde Republica Dominicana
No es verdad. En el curso de java ha explicado igual de bien, lo que pasa es que tu ahora sabes a que se refiere el polimorfismo y lo entiendes mejor y te parece mas facil
Excelentisimoooooo solo le falta que haga un curso de Rust de este nuevo lenguaje que todo andan buscando tutoriales, eres el mejor profesor explica de lo mejor
Explicación magistral del polimorfismo; simple, pero magistral. Genial Juan, eres un grande. Ahora nos toca pasar el “mono” hasta que nos des el próximo “chute” en forma de vídeo. Un fuerte aplauso para ti. Ah! Y me encantaría sugerirte, si es posible, que tocaras la conexión con SQLite,; sería FANTÁSTICO. Gracias por lo que haces y sobre todo, por cómo lo haces. Un saludo desde Gran Canaria.
Muy gráfica y precisa la explicación, buen trabajo! Sólo te ha faltado añadir, que dentro de los métodos sobreescritos con override se puede acceder al método de la clase padre con "base.NombreMetodo()" por si en algún momento nos interesa reutilizar el código y añadirlo a la clase hija sin tener que repetirlo completamente.
Practicando un poco: using System; namespace HerenciaPersonas { class Program { static void Main(string[] args) { Abogado miCarlos = new Abogado("Carlos"); Mecanico miAntonio = new Mecanico("Antonio"); EmpleadoDomestico miLilia = new EmpleadoDomestico("Lilia"); Persona[] almacenamientoPersonas = new Persona[3]; almacenamientoPersonas[0] = miCarlos; almacenamientoPersonas[1] = miAntonio; almacenamientoPersonas[2] = miLilia; for(int i = 0; i < almacenamientoPersonas.Length; i++) { almacenamientoPersonas[i].trabajar(); almacenamientoPersonas[i].getNombre(); Console.WriteLine(); } Console.ReadKey(); } } class Persona { public Persona(String nombre) { nombrePersona = nombre; } public void pensar() { Console.WriteLine("Soy capaz de pensar ¿?"); } public void comer() { Console.WriteLine("Tengo hambre y estoy comiendo algo"); } public void dormir() { Console.WriteLine("Tengo sueño y voy a dormir un ratito"); } public virtual void trabajar() { Console.WriteLine("Hora de trabajar para ganarse el pan"); } public void getNombre() { Console.WriteLine("La persona se llama: " + nombrePersona); } private String nombrePersona; } class Abogado : Persona { public Abogado(String nombreAbogado) : base(nombreAbogado) { } public override void trabajar() { Console.WriteLine("Estoy yendo a Tribunales. A la tarde iré a mi estudio"); } } class Mecanico : Persona { public Mecanico(String nombreMecanico) : base(nombreMecanico) { } public override void trabajar() { Console.WriteLine("Yo me dedico a arreglar automóviles y otros vehículos"); } } class EmpleadoDomestico : Persona { public EmpleadoDomestico(String nombreCriado) : base(nombreCriado) { } public override void trabajar() { Console.WriteLine("Mi trabajo es limpiar casas. Tengo bastante trabajo"); } } }
Resumiendo: Nuestra superclase Juan nos hereda sus conocimientos. -Algunos irán ampliando conocimientos (override) -Otros se bastarán con lo ya aprendido (heredado)
creo que lo correcto seria al revés no?. El override es para sustituir algo que ya esta definido en la clase padre. La herencia, es agregar un nuevo metodo (en este caso) que viene de la clase padre y que la clase hija no posee..
Hola. excelente explicación. Pregunta: Cual es la diferencia entre por un lado usar la palabra reservada new , y por otro lado la combinación virtual override?. Por otro lado, como podría en el caso del ejemplo, usar el método pensar de la clase base (mamífero)? siendo que se declara como virtual y override el método por ejemplo en la clase humano, es decir, tengo disponibles los 2 métodos?. Saludos
Creo es muy importante remarcar que la diferencia entre override y new es que el primero permite hacer uso del método del que se está heredando (a través de base() ), por lo que se estaría "expandiendo" la funcionalidad, mientras que con "new" se reemplaza la funcionalidad en su totalidad.
De ante mano gracias por la explicacion muy bna... una consulta que pasa si necesito un parametro en uno de los metodos que hereda de mamifero, ejemplo que el humano necesite un parametro tipo string.. ejemplo que los otros no utilicen.
Excelente vídeo como siempre! Muchas gracias por compartir tus conocimientos. Una pregunta, ¿explicarás un poco en las aplicaciones window forms o todo el curso será en consola?
Buenas, o sea que virtual y override solo funcionan cuando almacenamos un objeto de una subclase (ej. Humano) en un objeto de clase padre (Ej. Mamiferos). Porque si el objeto lo instanciamos desde la propia clase, tenga virtual y override o no siempre va a devolver el metodo de la subclase, es asi?
New, Virtual, Override Los anteriores se agregan a la declaración del método New. Oculta el método original de clase general. Si en un array, por ejemplo, se agrupan elementos de diferentes clases, no se puede llamar al método “personalizado” de la subclase al llamarlo desde la matriz. No halla relación entre el método de la clase general y la subclase, simplemente lo oculta. Virtual. Hace que se pueda personalizar el método para cada caso en particular. Declarado solamente así, no sucede nada al tratar de llamar a un método personalizado desde el array de clases mixtas. Habría que añadir override al método de la subclase para poder utilizarlo desde el array.
2 cosas 1- excelente explicación y muchas gracias, el esfuerzo que haces es invaluable 2- creé el método pensar en la clase caballo y al ejecutar ya no me aparece el método pensar de la clase mamíferos, solo me aparecen las subclases, pero si elimino el método pensar de la clase caballo ya me aparece el de la clase mamíferos(“pensamiento básico instintivo”) ¿Por qué pasa esto ? Alguien sabe?...
No sé si te he entendido muy bien, pero ¿no será porque cuando creas el método en la clase Caballo sobreescribes (override) el método de la clase Mamíferos?
New: Solo sirve solo para quitar la advertencia del método. Virtual: Antepuesto en el método de la clase Padre Override: Para sobreescribir el mensaje en el método de la sub clase o clase hija de la clase principal.
¿y si ejecutas el mismo ejemplo de recorrer el array de tipo mamiferos pero en lugar de usar virtual en la super clase y el override en las subclases simplemente usamos new en las subclases tambien funcionaría? yo acostrumbro usar vitual y override nunca he usado new, por eso es mi duda, yo creo que tambien funcionaria con el new, pero no estoy seguro Saludos
Se me cruzaron muchas definiciones viendo este vídeo.... (Valor o Referencia) Posiblemente la pueda despejar si me ayudan a solucionar esta duda: Al imprimir una cadena por el método Console.WriteLine, ¿Esa cadena se almacena en memoria en compilación? ¿Nunca se almacena? 😭
Hola Buenas, Por las pruebas que estoy haciendo, entiendo que la verdadera diferencia entre poner las palabras reservadas "virtual" y "override" es a la hora de leer los arrays, no? si yo intento acceder a los métodos pensar de instancias de subclases por separado(sin las palabras reservadas), se llama a los métodos "correctos" para cada uno de ellos. (Pensar ballena) (Pensar mamifero) y (Pensar humano) por ejemplo. Sin embargo, si utilizo un array y recorro el array llamando al método pensar con cada uno de los objetos (de diferentes clases) que hay,, solo se llama al método (Pensar mamiferos). Alguien puede decirme si esto es así? No sé si estoy utilizando terminología muy correcta. I do my best. Espero que se me entienda. Gracias, saludos!
¿Por qué pones los nombres de los métodos en camelCase? Sé que no afecta a la funcionalidad del código pero como en C# el estándar es utilizar el UpperCamelCase, queda más bonito el código entero con la misma convención de nombres
Hasta dan ganas de llorar de la emoción por tan buena explicación, clara y precisa en 20 minutos, cosas que profesores en mi universidad no enseñan en todo un semestre
Hasta esta mejor explicado que la documentación de Microsoft
El vídeo más lioso hasta la fecha!
Muchisimas gracias , has conseguido que alfin acabe de comprender como es debido el concepto de poliformismo .
Grandiosa explicacion .
Gracias a Dios encontré este canal, pensé que era cerrado para esto pero el problema era que no había encontrado un profesor que explicara el tema tan bien.
Muchísimas gracias por este curso profesor, ya casi estoy terminar la carrera y si los profes fueran al menos un 50% de lo que usted es, las cosas serían diferentes!
A este grandisimo canal solo le falta un curso de C++ :)
Acaba de empezar el curso de C++
@@robertoloera7603 Es un capo
Jamas habia entendido a la primera el concepto de polimorfismo en la Universidad. Realmente gracias por este curso de CSharp estoy reforzando mucho lo que sabia y aprendiendo cosas nuevas.
Realmente explicas muy bien, lo cual no es solo ser exhaustivo, si no tener un buen ritmo, buenos ejemplos, buenas metáforas y buen enfoque. Se agradece!
genial... sin dudas estas en el top 3 de todos mis profesores
Gracias!! Un saludo
En serio, eres fantástico, no sabes lo que me estás ayudando a mejorar poco a poco en programación. Voy aprendiendo poco a poco y esto se está viendo reflejado en mis notas académicas. De verdad, ¡gracias!
depois de 8 anos entendi de verdade o que é polimorfismo na POO... que exemplo claro criou.. meus parabéns e obrigado pelo conteúdo!
Hacer este curso pese a dominar Java ayuda mucho a sentar conocimientos !!!
GRACIAS POR TANTO !!!!!!!!!!!!!!!!
La calidad de explicación es impresionante. Muchas gracias señor Píldoras!!
Nota, si el método no es virtual y los métodos en cada clase no sobreescriben si no que ocultan, al pasar el array de tipo Mamíferos por el bucle for o for each, y ejecutar el método en cada ciclo, solo mostrará el resultado de la superclase. Excelente el curso por cierto!
el mejor video de polimorfismo que he visto alguna vez
Gracias por todo el conocimiento que das gratuitamente :) sigue así y no pares porfa !!!!
Gracias por seguir mis vídeos. Seguiré. Un saludo!
Mil gracias por estos cursos, ojala hubiera conocido su canal en mis tiempos de universidad
te quiero mucho pildoras♥
Todos los dias de mi vida agradezco la existencia de tus cursos. De los años que vengo aprendiendo, no encontre otros que te superen. Incluso me apunte en cursos en los cuales te referian a vos JAJAJJAJAJAJ. Eres magistral.
Hermano, te juro que nunca lo había entendido tan fácil. Gracias Totales.
Sos un Crack!!!!!!!!!!
2020 - En plena cuarentena desde El Salvador aprendiendo algo nuevo gracias por este curso
la mejor explicacion de polimorfismo que he tenido en mi, ni en la universidad llegue a ver algo tan bien explicado y digerible
Muchas gracias por estas majestuosa clase!!!
Que hermoso momento eureka que vivi, no entendia muy bien hasta que llega al final y poom, fue como :O ahora todo tiene sentido y me quedo claro a la primera. Que gran maestro que eres. Me tomo con tiempo las clases y no avanzo de capitulo hasta que lo nuevo me quede aprendido, hasta utilizo a chatgpt para que me cree ejercicios con situaciones y yo los deba solucionar con lo aprendido hasta el momento, asi voy practicando lo nuevo y cuando me queda claro todo ahi avanzo al nuevo video.
No se puede explicar mejor. Gracias por este curso!
Genial , me ha quedado clarisimo la explicacion .... siempre pense que le polimorfismo era dificil...
Hola, exactamente video tu manera de enseñar es tan clara que aprende es súper fácil muchas gracias
Al fin aprendí lo que es polimorfismo, sos un genio! Que bien explicas todo. Un millón de gracias.
Eres un duro Juan. Saludos desde Venezuela.
Excelente video Crack. Me quedo muy claro. Sigue así, cada video tuyo vale la pena aprender.
excelente estimado, muchas gracias por la forma en como lo explicas, se entendió
Magnífico, se entiende perfectamente la explicación. Un millón de gracias!
Genial como siempre! Es un placer aprender contigo.
Excelente video y como siempre te superas en cada explicacion, vengo del curso de java y python y alli ya eran buenas explicaciones pero esta me gustado aun mas por eso siempre veo otra vez los conceptos aunque ya lo haya visto de otros curso siempre se puede mejorar , afianzar o reforzar lo aprendido, gracias por compartir tus conocimiento
Profesor no deje de subir sus videos, y porfavor suba videos de c# avanzado con conexiones a sql porfavor se lo agradesería mucho, Saludos desde Republica Dominicana
Tengo tiempo desenrollando en PHP con Laravel, con tu curso he tenido mas claridad en cuanto a POO. Muy buenooo!. Saludos desde Venezuela
Que bien Juan. Da gusto ver este nivel de explicación! Sin lugar a dudas, tienes condiciones innatas para enseñar! Abrazo grande!
El mejor profe sin dudas. Gracias siempre!
explicas bastante bien, lo entendí a la primera !!!
Yo diría que te has superado explicando esta vez con c#, mejor que cuando lo vi con java 😉. Ejemplo muy claro y detallado .... Saludos
No es verdad. En el curso de java ha explicado igual de bien, lo que pasa es que tu ahora sabes a que se refiere el polimorfismo y lo entiendes mejor y te parece mas facil
@@denisamacovei2641 No era una critica, mas bien quería colgarle una medalla, 😂😂😂 por su afán de superación Saludos
muchas Gracias, Saludos desde Guatemala, tus videos son buenísimos!!!
Excelentisimoooooo solo le falta que haga un curso de Rust de este nuevo lenguaje que todo andan buscando tutoriales, eres el mejor profesor explica de lo mejor
Gracias por el comentario, me alegro de que te guste el curso. Tomo nota de tu petición. Un saludo!
No te entendí el polimorfismo en java, pero en c# me quedo muy muy claro.
Explicación magistral del polimorfismo; simple, pero magistral. Genial Juan, eres un grande. Ahora nos toca pasar el “mono” hasta que nos des el próximo “chute” en forma de vídeo. Un fuerte aplauso para ti. Ah! Y me encantaría sugerirte, si es posible, que tocaras la conexión con SQLite,; sería FANTÁSTICO. Gracias por lo que haces y sobre todo, por cómo lo haces. Un saludo desde Gran Canaria.
Un saludo a Mi Gran Canaria desde Lyon
Muy gráfica y precisa la explicación, buen trabajo! Sólo te ha faltado añadir, que dentro de los métodos sobreescritos con override se puede acceder al método de la clase padre con "base.NombreMetodo()" por si en algún momento nos interesa reutilizar el código y añadirlo a la clase hija sin tener que repetirlo completamente.
base es como super en java?
Gracias
Excelente como siempre, saludos desde Cuba
Como haces para tener internet?
@@eduardrivas6964 Yo pensé que en pleno 2019 usaban máquinas de escribir (esas de carrete) 😂
te ganaste un suscriptor! Gracias
Excelente la explicación no se como haces para explicar tan bien temas tan complejos ¡Gracias!
Excelente curso!!!! Saludos desde Argentina.
Muy bien explicado
Qué jefazo, tron.
Me quedó todo muy claro, buenisima explicación y gracias!
Momento épico del profesor Juan min 2:06🤣🤣🤣
Barbaro profe, muy bien explicado, que calidad 👍
Practicando un poco:
using System;
namespace HerenciaPersonas
{
class Program
{
static void Main(string[] args)
{
Abogado miCarlos = new Abogado("Carlos");
Mecanico miAntonio = new Mecanico("Antonio");
EmpleadoDomestico miLilia = new EmpleadoDomestico("Lilia");
Persona[] almacenamientoPersonas = new Persona[3];
almacenamientoPersonas[0] = miCarlos;
almacenamientoPersonas[1] = miAntonio;
almacenamientoPersonas[2] = miLilia;
for(int i = 0; i < almacenamientoPersonas.Length; i++)
{
almacenamientoPersonas[i].trabajar();
almacenamientoPersonas[i].getNombre();
Console.WriteLine();
}
Console.ReadKey();
}
}
class Persona
{
public Persona(String nombre)
{
nombrePersona = nombre;
}
public void pensar()
{
Console.WriteLine("Soy capaz de pensar ¿?");
}
public void comer()
{
Console.WriteLine("Tengo hambre y estoy comiendo algo");
}
public void dormir()
{
Console.WriteLine("Tengo sueño y voy a dormir un ratito");
}
public virtual void trabajar()
{
Console.WriteLine("Hora de trabajar para ganarse el pan");
}
public void getNombre()
{
Console.WriteLine("La persona se llama: " + nombrePersona);
}
private String nombrePersona;
}
class Abogado : Persona
{
public Abogado(String nombreAbogado) : base(nombreAbogado)
{
}
public override void trabajar()
{
Console.WriteLine("Estoy yendo a Tribunales. A la tarde iré a mi estudio");
}
}
class Mecanico : Persona
{
public Mecanico(String nombreMecanico) : base(nombreMecanico)
{
}
public override void trabajar()
{
Console.WriteLine("Yo me dedico a arreglar automóviles y otros vehículos");
}
}
class EmpleadoDomestico : Persona
{
public EmpleadoDomestico(String nombreCriado) : base(nombreCriado)
{
}
public override void trabajar()
{
Console.WriteLine("Mi trabajo es limpiar casas. Tengo bastante trabajo");
}
}
}
Muchas gracias
Resumiendo:
Nuestra superclase Juan nos hereda sus conocimientos.
-Algunos irán ampliando conocimientos (override)
-Otros se bastarán con lo ya aprendido (heredado)
Siempre y cuando "conocimientos" sea virtual, si no te va a marcar error. haha
@@RrAztAfaray95 xd
Aunque no lo creas tu comentario me ayudo a entenderlo mejor
Qué buena simplificación
creo que lo correcto seria al revés no?. El override es para sustituir algo que ya esta definido en la clase padre. La herencia, es agregar un nuevo metodo (en este caso) que viene de la clase padre y que la clase hija no posee..
Muchísimas gracias profesor, gracias a usted por finn he entendido qué es el polimorfismo
me sirvió mucho 👍👍👍
ya espero llegar al video del ejercicio del ejemplo para la aplicación de todos estos conocimiento.
Felicidade excelente como siempre
gracias
perfecto!!!! muchas gracias.
uff que dolor de cabeza jejeje tengo que practicar mas para entenderlo del todo, pero muy buena explicacion profesor
al final de video vi la luz del tunel jaja, no tenia muy claro cual era el objetivo de llamar a todo pensar, pero si es bastante útil lo del override.
Muchas gracias profe, interesantisimo esto de la POO!!!
Hola. excelente explicación. Pregunta: Cual es la diferencia entre por un lado usar la palabra reservada new , y por otro lado la combinación virtual override?. Por otro lado, como podría en el caso del ejemplo, usar el método pensar de la clase base (mamífero)? siendo que se declara como virtual y override el método por ejemplo en la clase humano, es decir, tengo disponibles los 2 métodos?.
Saludos
Muchas gracias profe Juan, espero que puedas tocar los temas de clase abstracta e interfaces también... Saludos.
Pregunta Compañero .Net soporta la Herencia Múltiple??, o igual a Java toca realizarla con Interfaces??,Atento a tus respuestas
Clase maestra de polimorfismo
genio!
2:15 jajaja buen vídeo, gracias.
Creo es muy importante remarcar que la diferencia entre override y new es que el primero permite hacer uso del método del que se está heredando (a través de base() ), por lo que se estaría "expandiendo" la funcionalidad, mientras que con "new" se reemplaza la funcionalidad en su totalidad.
De ante mano gracias por la explicacion muy bna... una consulta que pasa si necesito un parametro en uno de los metodos que hereda de mamifero, ejemplo que el humano necesite un parametro tipo string.. ejemplo que los otros no utilicen.
Excelente
Excelente!
Excelente vídeo como siempre! Muchas gracias por compartir tus conocimientos.
Una pregunta, ¿explicarás un poco en las aplicaciones window forms o todo el curso será en consola?
Noooo, por supuesto que entraré a ver formularios. Gracias por el comentario. Un saludo!
@@pildorasinformaticas muchas gracias!! : D
Buenas, o sea que virtual y override solo funcionan cuando almacenamos un objeto de una subclase (ej. Humano) en un objeto de clase padre (Ej. Mamiferos). Porque si el objeto lo instanciamos desde la propia clase, tenga virtual y override o no siempre va a devolver el metodo de la subclase, es asi?
New, Virtual, Override
Los anteriores se agregan a la declaración del método
New. Oculta el método original de clase general. Si en un array, por ejemplo, se agrupan elementos de diferentes clases, no se puede llamar al método “personalizado” de la subclase al llamarlo desde la matriz. No halla relación entre el método de la clase general y la subclase, simplemente lo oculta.
Virtual. Hace que se pueda personalizar el método para cada caso en particular. Declarado solamente así, no sucede nada al tratar de llamar a un método personalizado desde el array de clases mixtas. Habría que añadir override al método de la subclase para poder utilizarlo desde el array.
Gracias... cuando es el siguiente video?
En breve (hoy o mañana si tengo tiempo). UN saludo!
Sos re hate de los humanos, tkm
2 cosas
1- excelente explicación y muchas gracias, el esfuerzo que haces es invaluable
2- creé el método pensar en la clase caballo y al ejecutar ya no me aparece el método pensar de la clase mamíferos, solo me aparecen las subclases, pero si elimino el método pensar de la clase caballo ya me aparece el de la clase mamíferos(“pensamiento básico instintivo”)
¿Por qué pasa esto ?
Alguien sabe?...
No sé si te he entendido muy bien, pero ¿no será porque cuando creas el método en la clase Caballo sobreescribes (override) el método de la clase Mamíferos?
Comparte tu còdigo, veamos què y còmo el mètodo en la clase Padre e Hija pusiste.
New: Solo sirve solo para quitar la advertencia del método.
Virtual: Antepuesto en el método de la clase Padre
Override: Para sobreescribir el mensaje en el método de la sub clase o clase hija de la clase principal.
ah pues así de bien de explicado hasta yo aprendo xd
+10
¿y si ejecutas el mismo ejemplo de recorrer el array de tipo mamiferos pero en lugar de usar virtual en la super clase y el override en las subclases simplemente usamos new en las subclases tambien funcionaría? yo acostrumbro usar vitual y override nunca he usado new, por eso es mi duda, yo creo que tambien funcionaria con el new, pero no estoy seguro
Saludos
Está denso esto
¿Y cual es la diferencia a que lo tome como una modificacion y no como un metodo nuevo? al final regresa el mismo resultado no?
Se me cruzaron muchas definiciones viendo este vídeo.... (Valor o Referencia)
Posiblemente la pueda despejar si me ayudan a solucionar esta duda:
Al imprimir una cadena por el método Console.WriteLine, ¿Esa cadena se almacena en memoria en compilación? ¿Nunca se almacena? 😭
Hola Buenas,
Por las pruebas que estoy haciendo, entiendo que la verdadera diferencia entre poner las palabras reservadas "virtual" y "override" es a la hora de leer los arrays, no? si yo intento acceder a los métodos pensar de instancias de subclases por separado(sin las palabras reservadas), se llama a los métodos "correctos" para cada uno de ellos. (Pensar ballena) (Pensar mamifero) y (Pensar humano) por ejemplo.
Sin embargo, si utilizo un array y recorro el array llamando al método pensar con cada uno de los objetos (de diferentes clases) que hay,, solo se llama al método (Pensar mamiferos).
Alguien puede decirme si esto es así?
No sé si estoy utilizando terminología muy correcta. I do my best. Espero que se me entienda.
Gracias, saludos!
Según entendí depende del caso. Si un objeto de clase Humano tiene un método con override, ese es el que se utiliza y no el de Mamiferos
👀
Cuando las clases de programacion se vuelven clases de filosofia . Que es el pensamiento? ^^
ya no pide la palabra reservada new en la mas nueva versión, si la pones te indica que no es necesaria la palabra reservada new.
no me quedo claro para q el metodo virtual
@@erik_lopez_ muchas gracias bro
Jajaja. Cambia de forma según la ocación. ¿Todo ok, amigo Juan?. Yo soy muy polimorfo
🦍
No es sobre carga es sobreescritura, la sobrecarga no implica una herencia la sobreescritura si.
Vengo de Java y la sobreescritura es horrible comparado con esto. Me cambio a c#
Ge-ni-al
¿Por qué pones los nombres de los métodos en camelCase? Sé que no afecta a la funcionalidad del código pero como en C# el estándar es utilizar el UpperCamelCase, queda más bonito el código entero con la misma convención de nombres