Tutorial 21 de C# - Polimorfismo
HTML-код
- Опубликовано: 6 сен 2024
- Para descargar los cursos totalmente gratis visita nuestra pagina:
www.learnwtutor...
Siguenos en:
facebook: / learnwtutorials
twitter: / learnwtutorials
learnwtutorials
aprende
programacion
tutorial
videos
lenguaje de programacion
computadora
tecnologia
Grande.
Excelente amigo. Este video me saco de un apuro.
Ojala sigas subiendo.
Muchas gracias.
Tal vez quedaría más claro de esta manera: hay una clase padre llamada FiguraGeometrica, que declara como abstract (es decir, que DEBE reescribirse en cada clase que herede de esta) un método Area( int base, int altura ). Luego, creamos las clases hijas Rectangulo y Triangulo, y cada una implementa a su manera este método Area (int, int).
En el programa main(), declaramos un objeto de la clase FiguraGeometrica:
FiguraGeometrica figura;
Y pedimos que ingrese 1 si quiere un rectangulo, o 2 si quiere un triángulo, con los Console.WriteLine() y Console.ReadLine() correspondientes, y con un if() instanciamos la figura que corresponde:
if( opcionElegida == 1 )
figura = new Rectangulo();
else
figura = new Triangulo();
Y finalmente, hacemos que calcule el área. Y como está definida en la clase padre, podemos llamar al método Area(), y el programa llamará al que corresponda según el tipo de clase a la que pertenezca el objeto figura.
figura.Area(34,56);
En algo tan pequeño, puede parecer una tontería, pero en la vida real hay ejemplos donde tal característica es sumamente útil.
Con tu manera de explicar y los ejemplos es tan fácil POO...Excelente el Curso
like y comentario
Hola
Me está costando mucho aprender C# pero con este video me queda muy claro el concepto y lo mejor, el ejemplo.
Muchas gracias!
Excelente explicación. He aprendido mucho. Si hay polimorfismo lo comprobé porque vi otro video y el concepto es el mismo.
muy buen tutorial
excelente!!!!
Genial video, amigo!
Me gusta como explica
Excelente!
Lo que no me queda claro es por qué vuelve a repetirse el mismo método en el triángulo, de todas formas tocó volverlo a escribir todo igual que en el rectángulo. La idea no sería llamar los datos de base y altura y solo hace el cálculo del triangulo? Es necesario volver a escribir el código del mismo método?
Lo mismo pensé.
yesitasnow: tengo experiencia en .NET lenguaje C# y VB.NET en el video solo se muestra una explicación muy básica de polimorfismo con herencia. Esta muy bien. !!!! Pero existe tres tipos de polimorfismo. Polimorfismo por herencia, por Abstracción y por Interface.
dejo link. codigofuentenet.wordpress.com/2012/07/17/polimorfismo-en-c/
Pienso que es mejor utilizar en esos casos Interfaces, no?
mmn... seria mejor que utilizaras la palabra reservada New para crear una nueva implementación del método heredado para dejar claro que eso es lo que quieres, ademas el polimorfismo indica que se puede utilizar un objeto se la subclase siempre que se espere un objeto de la clase padre. un ejemple seria: rectángulo= triangulo o al instanciar la clase figurarectangulo rectángulo = new figura triangulo. (los objetos son polimorficos).
otra cosa también se le puede llamar principio de Sustitución.
Este mismo ejemplo se puede utilizar en un windows form? o tendría que agregar otra cosa aparte de la ventana ?
De todos modos no entiendo porque un triangulo quisiera ser heredado de un rectangulo ?
Es un ejemplo confuso...
Porque ambos comparten una similitud, poseen areas, y como dice el, el calculo de ambas areas son distintas, por eso triangulo hereda una clase de rectangulo, comparte un metodo que es su area, segun el cambia la forma de calculo.
Lo que yo no entiendo es por que hacer la herencia, si de igual forma haces un método diferente en cada clase.
Si entiendo por que es una herencia, y su uso practico, pero me parece que el ejemplo no es del todo practico, solo es un ejemplo de uso, pero al finar, la herencia no en el ejemplo, no sirve mas que para eso, ser un ejemplo de uso.
@@FelipeSanchez-zb3kn los mismo pienso, buscare otro ejemplo
ambas pueden pertenecer a la super clase figuras geometricas pero en el video no se explica del todo completo
buenas, una pregunta. En que casos se cumple polimorfismo y que casos se cumple sobreescritura? los veo muy parecidos a ambos. Teniendo en cuenta que el metodo de la clase base puede ser abstracto, virtual o concreto
El ejemplo está mal aplicado
veo que de todas maneras escribe el mismo metodo, no se suponia que esto no deberia ser
Osea que en este video, por mas que hayas heredado los metodos de la clase figura cuadrado, lo podes modificar el metodo sin ningun inconveniente por mas que la hayas herededo. Ok segui así.
Esta mal? Pls explicame
para mencionar conceptos superficialmente no me pareció un mal ejemplo
Eso no es polimorfismo.
Pues creo que eso se dirigiría al tema de sobrecarga de métodos. Pero ... en el minuto 6:11 .. V Studio muestra un mensaje de polimorfismo aplicado.. Esto es confuso aún.
Si es polimorfismo. Recuerda que la sobrecarga de métodos se refiere a tener mismos métodos con igual nombre con diferente cantidad de parámetros y tipos pero están definidos en la misma clase. En cambio, polimorfismo se refiere a métodos de mismo nombre con misma cantidad de parámetros y tipos pero declarados en clases diferentes.