🚀 POLIMORFISMO en JAVA | 🤔| Programación Orientada a Objetos 🖥️ | Explicación FÁCIL 2023 | #7
Summary
TLDREste nuevo video se adentra en el concepto de polimorfismo, una característica fundamental de la programación orientada a objetos. A través de un ejemplo práctico, el presentador ilustra cómo diferentes clases hijas, como 'auto', 'moto' y 'bus', pueden ser tratadas como objetos de una clase padre 'vehículo', aprovechando la herencia y el polimorfismo para manejar objetos de diferentes tipos en una estructura de datos común como un vector. La explicación teórica se complementa con un ejemplo de código en NetBeans, mostrando cómo se puede guardar objetos de clases hijas en un vector de tipo 'persona', aprovechando la relación de herencia y el polimorfismo.
Takeaways
- 📝 El polimorfismo es una característica fundamental de la programación orientada a objetos.
- 🔍 El término 'polimorfismo' proviene de 'poly' (muchos) y 'morph' (formas), sugiriendo que un objeto puede tener múltiples formas.
- 👨🏫 La herencia es un concepto clave relacionado con el polimorfismo, donde una clase 'hija' hereda atributos y métodos de una clase 'madre'.
- 🚗 Se utiliza un ejemplo de 'vehículo' como clase padre, del cual derivan clases hijas como 'coche', 'moto' y 'autobús'.
- 🛠 El polimorfismo permite que objetos de diferentes clases hijas sean tratados como objetos de la clase padre en el contexto de un programa.
- 🧩 Se menciona la posibilidad de utilizar un vector para almacenar distintos tipos de objetos que comparten una clase padre común.
- 🛑 Se destaca la advertencia del compilador al intentar mezclar tipos de datos incompatibles en un vector, como guardar un número en un vector de Strings.
- 🔄 El polimorfismo permite la asignación de objetos de clases hijas a variables de su clase padre sin errores ni advertencias.
- 🔧 Se ilustra cómo una variable de tipo 'persona' puede almacenar objetos de tipo 'empleado', 'consultor' o 'jefe', gracias al polimorfismo.
- 👷♂️ Se menciona que para asignar un objeto de una clase hija a una variable de su clase padre, es necesario realizar una conversión explícita o 'casting'.
- 🎉 El script termina con una mención a la celebración de los 20,000 suscriptores y un recordatorio para seguir las redes sociales y participar en los cursos gratuitos.
Q & A
¿Qué es el polimorfismo en la programación orientada a objetos?
-El polimorfismo es una característica de la programación orientada a objetos que permite que un objeto se comporte de diferentes maneras dependiendo de la clase a la que pertenece. Esto se logra mediante la herencia, donde una clase hija puede ser tratada como si fuera una instancia de su clase madre.
¿Cómo se explica el polimorfismo mediante el ejemplo de vehículos?
-En el ejemplo, 'Vehículo' es la clase madre, y 'Auto', 'Moto', y 'Colectivo' son clases hijas. A pesar de tener formas diferentes, todas comparten la misma clase madre, por lo que un objeto de cualquiera de estas clases puede ser tratado como un 'Vehículo'. Esto es polimorfismo: una misma interfaz para múltiples formas de comportamiento.
¿Por qué el polimorfismo puede parecer complicado al principio?
-El polimorfismo puede parecer complicado porque implica entender cómo diferentes clases pueden compartir atributos y métodos a través de la herencia, permitiendo que un mismo método funcione de manera diferente dependiendo del objeto que lo llame.
¿Qué sucede cuando se intenta guardar objetos de diferentes clases en un vector?
-Si las clases comparten una clase madre, como 'Persona', es posible guardar objetos de esas clases en un mismo vector sin errores. Sin embargo, no se pueden mezclar objetos de clases no relacionadas, como guardar un string en un vector de personas.
¿Por qué es necesario realizar un 'casting' al asignar un objeto de una clase hija a una clase madre?
-El casting es necesario porque, al asignar un objeto de una clase hija a una variable de tipo clase madre, se pierde la información específica de la clase hija. El casting permite transformar un objeto de la clase madre de vuelta a su clase hija específica.
¿Qué pasa cuando se asigna un objeto de una clase hija a una variable de la clase madre?
-Cuando se asigna un objeto de una clase hija a una variable de la clase madre, se permite la operación porque la clase hija hereda de la clase madre. Sin embargo, al revés, es necesario un 'casting' para convertir el objeto de la clase madre a la clase hija.
¿Cómo facilita el polimorfismo la creación de funciones como 'estacionar'?
-El polimorfismo permite crear funciones como 'estacionar', que pueden recibir un objeto de la clase madre ('Vehículo') y trabajar con cualquier objeto de las clases hijas ('Auto', 'Moto', 'Colectivo'). Esto simplifica el código y lo hace más flexible.
¿Qué se requiere para mezclar diferentes tipos de datos en un mismo vector?
-Para mezclar diferentes tipos de datos en un mismo vector, estos deben ser instancias de clases que compartan una clase madre. Esto se debe a que el polimorfismo permite que diferentes formas (clases hijas) sean tratadas como una sola forma (clase madre).
¿Qué error ocurre al intentar guardar un string en un vector de tipo 'Persona'?
-El error ocurre porque un string no es un objeto de la clase 'Persona' ni de ninguna de sus clases hijas. Por lo tanto, no es compatible con el vector de tipo 'Persona', y el intento de guardarlo genera un error de tipo.
¿Cómo se aplica el polimorfismo en la vida real, según el ejemplo dado en el video?
-En la vida real, el polimorfismo puede entenderse como la capacidad de un rol o función de adaptarse a diferentes situaciones. Por ejemplo, un vehículo puede tomar la forma de un auto, moto o colectivo, similar a cómo un objeto en programación puede tomar múltiples formas dependiendo de su clase.
Outlines
🚀 Introducción al Polimorfismo en Programación Orientada a Objetos
El video comienza con una introducción al concepto de polimorfismo en la programación orientada a objetos. Se explica que el polimorfismo es una propiedad fundamental que permite a los objetos adoptar múltiples formas, dependiendo de la clase madre a la que pertenecen. Se utiliza un ejemplo práctico de la clase 'vehículo' con sus clases hijas 'coche', 'moto' y 'colectivo' para ilustrar cómo un objeto puede comportarse como varios tipos diferentes. A pesar de la aparente complejidad del concepto, se enfatiza que, una vez entendido, es fácil de aplicar.
🧩 Aplicación del Polimorfismo en Vectores
En este párrafo, se aborda la aplicación práctica del polimorfismo al trabajar con vectores en Java. Se explica cómo un vector de tipo 'persona' puede almacenar objetos de clases hijas como 'empleado', 'consultor' o 'jefe' debido a la relación de herencia. A pesar de la restricción básica de Java que impide mezclar tipos de datos diferentes en un vector, el polimorfismo permite que diferentes subtipos se almacenen juntos siempre que hereden de la misma clase madre. Se muestran ejemplos de código para demostrar cómo se pueden guardar y manejar diferentes tipos de objetos en un mismo vector, evitando errores de tipo.
🔄 Conversión de Tipos y Herencia en Java
El párrafo final discute la conversión de tipos en Java y cómo se relaciona con el polimorfismo y la herencia. Se explica que, aunque es posible asignar un objeto de una clase hija a una variable de la clase madre, el proceso inverso requiere una conversión explícita o 'casting'. Este concepto se compara con la vida real, donde un hijo puede tomar el rol de un padre, pero no al revés sin una transformación. Además, el video finaliza con agradecimientos a los suscriptores, invitaciones a seguir el canal, y un recordatorio sobre los recursos adicionales disponibles, como webinars y listas de reproducción.
Mindmap
Keywords
💡Programación orientada a objetos
💡Herencia
💡Polimorfismo
💡Clase madre
💡Clases hijas
💡Método
💡Objeto
💡Atributo
💡Vector
💡Casting
Highlights
Introducción a la programación orientada a objetos con énfasis en la herencia.
Explicación teórica sobre el polimorfismo como una de las propiedades fundamentales de la programación orientada a objetos.
Definición de polimorfismo: 'Muchas formas' y cómo se relaciona con clases padre e hijas.
Ejemplo gráfico utilizando clases de vehículos como auto, moto y colectivo para explicar el polimorfismo.
Explicación sobre cómo un objeto de tipo vehículo puede comportarse como cualquiera de sus formas derivadas.
Demostración práctica en NetBeans para visualizar el concepto de polimorfismo en código.
Ejemplo de uso de un vector para mezclar distintos tipos de objetos y aplicar el polimorfismo.
Explicación sobre cómo funciona el almacenamiento de diferentes tipos de objetos en un vector de tipo persona.
Demostración de cómo se pueden almacenar objetos de clases hijas en un vector de la clase madre sin problemas.
Discusión sobre la necesidad de hacer 'casting' al asignar un objeto padre a una clase hija.
Analogía con la vida real para entender mejor el concepto de herencia y polimorfismo.
Recomendación de suscribirse al canal y activar la campanita para recibir todas las notificaciones.
Agradecimiento a los 20000 suscriptores y mención de los webinars disponibles en el canal.
Invitación a seguir las redes sociales del canal y dejar comentarios en los videos.
Cierre del video con mención de futuros contenidos y agradecimientos finales.
Transcripts
soluciona y bienvenidos a un nuevo vídeo
en dónde en
[Música]
continuar con la serie de programación
orientada a objetos con
un poquito lo que es la herencia que es
una de las propiedades fundamentales de
la programación en todos quietos como
podemos ver en vídeos anteriores que si
no nos dieron solo dejar aquí arriba y
también en la descripción para que pueda
ver la lista de reproducción completa
antes de llegar a este vídeo es un
concepto de las características
fundamentales de la programación
orientada a objetos que es el
polimorfismo
orfismo un nombre horrible o que me da
muchísimo miedo no es para tenerle miedo
es un concepto que suele ser un poco
complicado al principio de entender que
una vez que captamos la idea principal
para ver qué es muy sencillo mente va de
la mano con la herencia que es el
concepto que vimos la clase pasada sí
que vamos directamente una explicación
teórica cortita y ya vamos derecho a
NetBeans a meter código y a Móstoles
ejemplos de polimorfismo vamos a eso
bien gente
el significado de polimorfismo
geología de las palabras es decir
separar las palabras en partes y en base
a eso sacar las definiciones o los
significados en este caso
polimorfismo vamos a separar en dos
partes poli qué significa muchas
qué significa forma el profe que
te estás imaginando
polimorfismo muchas formas qué significa
esto
a partir de un objeto que pertenece a
una clase madre si
con clases hijas concepto de clase madre
padre y clases hijas o hermanas que
vimos en la clase anterior en herencia
bueno a partir de esta existencia yo
puedo hacer que estos al compartir
atributos y padre en común pueden ser
considerados como que tuviesen la forma
de un solo objeto por más que en
realidad tienen muchas Messi profes
ReComp lejo lo que me estás diciendo no
estoy entendiendo nada vamos a un
ejemplo bastante gráfico supongamos que
la clase padre que tenemos una clase
padre o madre cómo le quieras llamar se
llama vehículo bien a partir de vehículo
que es mi clase padre yo te voy a tener
por ejemplo tres clases hijas que
comparten atributos en común con
vehículo por ejemplo coche o auto moto o
colectivo bus bien son clases hijas de
vehículo de vehículo obviamente van a
compartir atributos y métodos en común
entre sí lo que le va a decir que
compartiendo esta misma clase padre
cualquiera de estos que tenemos acá se
pueda comportar como que tuvieran la
misma forma que un vehículo por eso
polimorfismo muchas formas un mismo
vehículo puede estar en tres formas
diferentes en forma de auto en forma de
moto en forma de colectivo autobús por
ejemplo supongamos que tendría
tuviésemos una función de esto está
medio de forma alola
que se llama estacionar
o estacionar que tengo esta función por
hacer solo una manera tuya poner que va
a tener un parámetro para recibir un
vehículo como parámetro al colocar queso
por recibir un vehículo acá que estoy
diciendo que por recibir un vehículo en
cualquiera de sus formas qué quiere
decir yo puedo recibir un auto o un
colectivo y puedo estacionar cualquiera
de las tres porque porque acá pues su
vehículo parece como un poquito confuso
como que tú eres vamos despejando pero
igual sigue siendo confuso nivel teórico
así que vamos a ver quién es le voy a
mostrar con un ejemplo en un vector cómo
podemos mezclar distintos tipos de
objetos dentro de un mismo vector y cómo
se cumple el polimorfismo así que vamos
esos hola hola ahora esperando que
pasamos a la práctica no te olvides de
poner me gusta y suscribirte si todavía
no estás suscrito que nos hay un montón
y dejar un comentario de que te están
pared la clase de Javi entonces o si
quieres algún otro tema que estemos
tocando en el canal así que no te
olvides de seguirnos en las redes
sociales y no te pierdas los cursos
gratuitos y con certificado de la toco
ahora seguimos conocernos me quede como
estoy
clásicas que eran consultor y empleado
medio mundo de crear una clase y jamás
llamada jefe que se las voy a mostrar a
car rapidito que tiene dos atributos
propios que son aire y jefe y
departamento jefe nada más que eso
tipos
polimorfismo
suponer sí que solo necesito un vector
in un besito necesito guardar diferentes
tipos de personas si quiero borrar
personas en general pero qué pasa que se
ve todo eso necesito guardar tanto
empleados como jefes como consultores
lo que dice la teoría general dejaba que
nos dice que en un objeto de un tipo yo
no puedo guardar objetos de otro lo
mismo si yo creo algo de estructura por
ejemplo un vector de un tipo de dato yo
dentro solo puedo guardar qué cosa
variables o valores que pertenezcan a
ese tipo de dato si por ejemplo si yo
creo un vector que sea de tipo String a
suponer así
así como lo pueden ver acá
si un vector que solo puede guardar
Springs más volumen quiero tres
posiciones sí sí su este vector en
alguna posición por ejemplo el acero yo
le quiero guardar un número que me va a
saltar a cada advertencia fíjense que me
está avisando como error
son compatibles entero con Spring y esto
es algo básico de Java que salimos que
no podemos mezclar tipos de datos ahora
te alguna manera hacer este mix de datos
fíjense qué pasa si eso creo un vector
ahora pero de tipo persona vamos a poner
zona
[Música]
cinco posiciones por ejemplo que vamos a
hacer ahora
Tor de tipo persona
cómo asignarle
la posición
una nueva
persona que sé que no hay ningún
problema una persona vacía está perfecto
el vector ese tipo persona pues guarda
una persona no hay drama
si eso quiero guardar por ejemplo un
empleado acaso quiero poner ni y quiero
guardar un empleado que pasa me tira el
mismo error que pasa con el stranger
link no me tira nada me dice como que
está todo
en la posición
[Música]
consultora
Messi diciendo que está bien no me tiré
ningún error que tela pasando
en otra posición más en A3 voy a guardar
mío y ahora voy a bordar un jefe que no
hay ningún problema ahora pensé que pasa
eso quiero guardar otro tipo
la posición 4
yo quiero guardar la Palabra
[Música]
qué te pasa maca si me salta que no
puedo guardar un string en un vector de
tipo persona pero cómo guardar un
empleado en consultoría un jefe que son
de tipos distintos pero no puedo guardar
un string por qué pasa eso no pasa
porque para estos casos se aplica el
polimorfismo como persona es la clase
madre y empleado consultor y jefe son
clases hijas y son formas muchas formas
son formas diferentes de representar una
misma persona es que me permite que en
un vector que pertenezca la clase padre
no puede guardar distintos tipos que
pertenezcan a clases hijas eso es lo que
me permite el polimorfismo digo hermanos
y yo tengo una variable común y
corriente por ejemplo tengo una variable
persona
si vamos a suponer que creo un objeto de
tipo persona y yo quiero crear también
un consultor
por supuesto
pongamos acá que está pasando
consultor puedo hacer mi objeto persona
sin problema
pero cómo puede ser que cayó a un objeto
persona
no me permite hacer lo mismo fíjense que
me tira como advertencia de que haga un
castillo de que ya tengo que transformar
la persona para enseñarle a un consultor
fíjense que me funciones y su hago la
asignación de un hijo a su papá o a su
mamá pero no de un papá a su hijo bien
voy haciendo analogía con la vida real a
partir lo que vimos en la clase de
herencia anteriormente
suscribite dale click a la campanita y
pone que te aparezcan todas las
notificaciones así también no te olvides
que seguimos con los festejos de los
20000 suscriptores muchísimas gracias a
todos los que estudian los últimos
juegos y si no pudieron ver los Webinars
anteriores hoodie el apartado de listas
de reproducción webinar y tienen toda la
lista de buenas que están hasta el
momento seguramente hasta fin de año
alguno que otro más vamos a poner para
poder completar con este festejo así que
los espero en nuestras redes sociales
que le den me gusta este vídeo dejen sus
comentarios que nos dan un montonazo y
nos vemos en un próximo vídeo en dónde
[Música]
[Aplausos]
[Música]
Посмотреть больше похожих видео
Curso Java - 7: Clases, Métodos y Objetos
Que es Programación Orientada a Objetos (POO)
COMO USAR LA PROGRAMACION ORIENTADA A OBJETOS - DESDE CERO
Java desde cero con Eclipse [Parte 2] (Programacion Orientada a Objetos)
JAVA: Introducción a la Herencia ☕ DAM - DAW
🚀 CLASES ABSTRACTAS en JAVA | 🤔| Programación Orientada a Objetos 🖥️ | Explicación FÁCIL 2023 | #9
5.0 / 5 (0 votes)