SlideShare una empresa de Scribd logo
1 de 3
Descargar para leer sin conexión
POLIMORFISMO
Poli: múltiple
Morfismo: formas
En programación significa que: “Un mismo objeto puede tomar DIVERSAS FORMAS.”
Polimorfismo es la posibilidad de que un método tenga el mismo nombre y produzca el mismo efecto básico
pero esté implementado de forma distinta en las subclases.
¿QUE ES?
Un objeto polimórfico es una entidad que puede contener valores de diferentes tipos durante la ejecución del
programa. Una misma conducta o MÉTODO puede ser desarrollada por diferentes objetos de diferentes clases.
En programación orientada a objetos, el polimorfismo se refiere a la propiedad por la que es posible enviar
mensajes sintácticamente iguales a objetos de tipos distintos. El único requisito que deben cumplir los objetos
que se utilizan de manera polimórfica es saber responder al mensaje que se les envía. Es posible que el único
modo de poder utilizar objetos de manera polimórfica sea que compartan una raíz común, es decir, una jerarquía
de clases, ya que esto proporciona la compatibilidad de tipos de datos necesaria para que sea posible utilizar
una misma variable de referencia (que podrá apuntar a objetos de diversas subclases de dicha jerarquía) para
enviar el mismo mensaje (o un grupo de mensajes) al grupo de objetos que se tratan de manera polimórfica.
El polimorfismo se puede clasificar en dos grandes clases
en el que el código no incluye ningún tipo de
especificación sobre el tipo de datos sobre el que se trabaja. Así, puede ser utilizado a todo tipo de datos
compatible.
deben ser explicitados y declarados uno por uno antes de poder ser utilizados. El polimorfismo dinámico unido
a la herencia es lo que en ocasiones se conoce como programación genérica.
¿EN QUE SE OCUPA?
Se puede ocupar en algunos lenguajes de programación (Java, C++) permiten que dos objetos de distintas
jerarquías de clases respondan a los mismos mensajes, a través de las denominadas interfaces
En Java las interfaces se declaran mediante la palabra clave Interface. Estas se utilizan para lograr la necesaria
concordancia de tipos que hace posible el polimorfismo, también como un contrato que debe cumplir cualquier
clase que implemente una cierta interfaz, y como una forma de documentación para los desarrolladores.
Java permite apuntar a un objeto con una variable definida como tipo de clase padre.
El polimorfismo consiste en instanciar un objeto de una clase hija definiendo el tipo de la clase padre:
class Padre{}
class Hija extends Padre{}
Padre h = new Hija();
EJEMPLO:
public class animal {
public void comer(){
JOptionPane.showMessageDialog(null,"Comer es natural para los animales");
}
public void comer(String comida, int kilos){
JOptionPane.showMessageDialog(null,"El animal puede comer "+kilos+" pacas de "+comida);
}
public void crecer(){
JOptionPane.showMessageDialog(null,"Crecer es natural en todos los animales");
}
public void crecer(long altura, long peso){
JOptionPane.showMessageDialog(null,"El animal creció "+altura+" metros de altura y subió
"+peso+" kilos");
}
}
public class caballo extends animal{
public void comer(String comida){
JOptionPane.showMessageDialog(null,"El caballo come: "+ comida );
}
public void crecer(long altura){
JOptionPane.showMessageDialog(null,"El caballo crecio: "+ altura +" cm de altura");
}
}
public class testcaballo {
public static void main(String[] args){
caballo c = new caballo();
c.comer();
c.comer("pasto, alimento y agua");
c.comer("pasto",5);
c.crecer();
c.crecer(25L);
c.crecer(2L, 15L);
}
}
Recuerde el ejemplo del ecosistema, en donde todos los objetos de las distintas especies heredaban de una
superclase llamada Animal, que brindaba la información general de cualquier animal, independiente de su
especie. Sin embargo, cada especie hace un uso particular de cada uno de los métodos u operaciones de la
clase Animal. El método comer no se podría ejecutar de la misma manera en un caballo que para un pescado,
aunque todas las especies realicen estos métodos. A la sobre escritura o implementación específica de
métodos es la clave del polimorfismo.
VENTAJAS
Como bien dijiste, tengo a todos los animales en una colección y todos entienden el mismo mensaje sin importar
como lo resuelvan. También agregaría que para el observador (el que usa los objetos polimórficos), hay que
escribir menos códigos.
DESVENTAJAS
Hay que escribir más códigos para el objeto observador. Tengo que tener separadas las especies y hay que
mandarle un mensaje a cada una con distintos selectores.
CONCLUSION
El uso del polimorfismo dentro de la programación es una ventaja muy grande, puesto que podemos programar
objetos con características comunes y que todos estos compartan la misma superclase en una jerarquía de
clases, como si todas fueran objetos de la superclase, pudiendo ocupar los objetos siempre y cuando
compartan la misma superclase.

Más contenido relacionado

Destacado

Sql server 2012_licensing_reference_guide
Sql server 2012_licensing_reference_guideSql server 2012_licensing_reference_guide
Sql server 2012_licensing_reference_guide
amenus006
 
Programación III (Java) - 03 Interfaces
Programación III (Java) - 03 InterfacesProgramación III (Java) - 03 Interfaces
Programación III (Java) - 03 Interfaces
Andoni Eguíluz Morán
 
Clases abstractas e interfaces
Clases abstractas e interfacesClases abstractas e interfaces
Clases abstractas e interfaces
lopezcortes
 
Sql server 2012 transact sql dml reference
Sql server 2012 transact sql dml referenceSql server 2012 transact sql dml reference
Sql server 2012 transact sql dml reference
U.N.S.C
 
Recovery, logging and the transaction log
Recovery, logging and the transaction logRecovery, logging and the transaction log
Recovery, logging and the transaction log
Miroslav Dimitrov
 

Destacado (14)

Sql server 2012_licensing_reference_guide
Sql server 2012_licensing_reference_guideSql server 2012_licensing_reference_guide
Sql server 2012_licensing_reference_guide
 
Programación III (Java) - 03 Interfaces
Programación III (Java) - 03 InterfacesProgramación III (Java) - 03 Interfaces
Programación III (Java) - 03 Interfaces
 
Interface Design Getting Real
Interface Design Getting RealInterface Design Getting Real
Interface Design Getting Real
 
Estructuras de datos osvaldo cairo
Estructuras de datos   osvaldo cairoEstructuras de datos   osvaldo cairo
Estructuras de datos osvaldo cairo
 
Windows Server 2012 Exam Paper 70-411 PDF
Windows Server 2012 Exam Paper 70-411 PDFWindows Server 2012 Exam Paper 70-411 PDF
Windows Server 2012 Exam Paper 70-411 PDF
 
Clases abstractas e interfaces
Clases abstractas e interfacesClases abstractas e interfaces
Clases abstractas e interfaces
 
MCSA Exam paper 70-412 PDF
MCSA Exam paper 70-412 PDFMCSA Exam paper 70-412 PDF
MCSA Exam paper 70-412 PDF
 
09 Clases Abstractas E Interfaces
09   Clases Abstractas E Interfaces09   Clases Abstractas E Interfaces
09 Clases Abstractas E Interfaces
 
Sql server 2012 transact sql dml reference
Sql server 2012 transact sql dml referenceSql server 2012 transact sql dml reference
Sql server 2012 transact sql dml reference
 
SQL Server Backup and Restore
SQL Server Backup and RestoreSQL Server Backup and Restore
SQL Server Backup and Restore
 
Alta Disponibilidad con SQL Server 2012
Alta Disponibilidad con SQL Server 2012Alta Disponibilidad con SQL Server 2012
Alta Disponibilidad con SQL Server 2012
 
NoSQL databases pros and cons
NoSQL databases pros and consNoSQL databases pros and cons
NoSQL databases pros and cons
 
Recovery, logging and the transaction log
Recovery, logging and the transaction logRecovery, logging and the transaction log
Recovery, logging and the transaction log
 
Polimorfismo y Clases Abstractas
Polimorfismo y Clases AbstractasPolimorfismo y Clases Abstractas
Polimorfismo y Clases Abstractas
 

Similar a Polimorfismo en java (20)

Polimorfism oo
Polimorfism ooPolimorfism oo
Polimorfism oo
 
Programaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetosProgramaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetos
 
Polimorfismo_PApps
Polimorfismo_PAppsPolimorfismo_PApps
Polimorfismo_PApps
 
Presentacion progra
Presentacion prograPresentacion progra
Presentacion progra
 
Lp13
Lp13Lp13
Lp13
 
Act10byme
Act10bymeAct10byme
Act10byme
 
Actividad conceptos poo
Actividad conceptos pooActividad conceptos poo
Actividad conceptos poo
 
Explicacion de interface
Explicacion de interfaceExplicacion de interface
Explicacion de interface
 
Polimorfismo 14k
Polimorfismo 14kPolimorfismo 14k
Polimorfismo 14k
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
4 unidad polimorfismo
4 unidad polimorfismo4 unidad polimorfismo
4 unidad polimorfismo
 
Interfaces
InterfacesInterfaces
Interfaces
 
Programación de aplicaciones
Programación de aplicacionesProgramación de aplicaciones
Programación de aplicaciones
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Herencia y Polimorfismo
Herencia y PolimorfismoHerencia y Polimorfismo
Herencia y Polimorfismo
 
Analisis de la PPO
Analisis de la PPOAnalisis de la PPO
Analisis de la PPO
 
Analisis orientado a objetos
Analisis orientado a objetosAnalisis orientado a objetos
Analisis orientado a objetos
 
Java morld cap2 [CURSO JAVA]
Java morld cap2 [CURSO JAVA]Java morld cap2 [CURSO JAVA]
Java morld cap2 [CURSO JAVA]
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
Herencia
HerenciaHerencia
Herencia
 

Último

REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
IrapuatoCmovamos
 
Conversacion.pptx en guarani boliviano latino
Conversacion.pptx en guarani boliviano latinoConversacion.pptx en guarani boliviano latino
Conversacion.pptx en guarani boliviano latino
BESTTech1
 
Anclaje Grupo 5..pptx de todo tipo de anclaje
Anclaje Grupo 5..pptx de todo tipo de anclajeAnclaje Grupo 5..pptx de todo tipo de anclaje
Anclaje Grupo 5..pptx de todo tipo de anclaje
klebersky23
 
Reporte de incidencia delictiva Silao marzo 2024
Reporte de incidencia delictiva Silao marzo 2024Reporte de incidencia delictiva Silao marzo 2024
Reporte de incidencia delictiva Silao marzo 2024
OBSERVATORIOREGIONAL
 

Último (20)

Alfredo Gabriel Rodriguez Yajure Tarea#1
Alfredo Gabriel Rodriguez Yajure Tarea#1Alfredo Gabriel Rodriguez Yajure Tarea#1
Alfredo Gabriel Rodriguez Yajure Tarea#1
 
REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
 
data lista de ingresantes de la universidad de ucayali 2024.pdf
data lista de ingresantes de la universidad de ucayali 2024.pdfdata lista de ingresantes de la universidad de ucayali 2024.pdf
data lista de ingresantes de la universidad de ucayali 2024.pdf
 
Conversacion.pptx en guarani boliviano latino
Conversacion.pptx en guarani boliviano latinoConversacion.pptx en guarani boliviano latino
Conversacion.pptx en guarani boliviano latino
 
Unidad 6 estadística 2011 TABLA DE FRECUENCIA
Unidad 6 estadística 2011  TABLA DE FRECUENCIAUnidad 6 estadística 2011  TABLA DE FRECUENCIA
Unidad 6 estadística 2011 TABLA DE FRECUENCIA
 
Principales Retos Demográficos de Puerto Rico
Principales Retos Demográficos de Puerto RicoPrincipales Retos Demográficos de Puerto Rico
Principales Retos Demográficos de Puerto Rico
 
AMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docx
AMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docxAMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docx
AMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docx
 
ROMA Y EL IMPERIO, CIUDADES ANTIGUA ROMANAS
ROMA Y EL  IMPERIO, CIUDADES  ANTIGUA ROMANASROMA Y EL  IMPERIO, CIUDADES  ANTIGUA ROMANAS
ROMA Y EL IMPERIO, CIUDADES ANTIGUA ROMANAS
 
MARCO TEORICO, SEMINARIO DE INVESTIGACION,
MARCO TEORICO, SEMINARIO DE INVESTIGACION,MARCO TEORICO, SEMINARIO DE INVESTIGACION,
MARCO TEORICO, SEMINARIO DE INVESTIGACION,
 
Anclaje Grupo 5..pptx de todo tipo de anclaje
Anclaje Grupo 5..pptx de todo tipo de anclajeAnclaje Grupo 5..pptx de todo tipo de anclaje
Anclaje Grupo 5..pptx de todo tipo de anclaje
 
Imágenes-de La-Inteligencia-Artificial-AnaliticayDatos-Beatriz-Garcia-Abril2024
Imágenes-de La-Inteligencia-Artificial-AnaliticayDatos-Beatriz-Garcia-Abril2024Imágenes-de La-Inteligencia-Artificial-AnaliticayDatos-Beatriz-Garcia-Abril2024
Imágenes-de La-Inteligencia-Artificial-AnaliticayDatos-Beatriz-Garcia-Abril2024
 
aine-2014.pdf/tipos de aines-clasificación
aine-2014.pdf/tipos de aines-clasificaciónaine-2014.pdf/tipos de aines-clasificación
aine-2014.pdf/tipos de aines-clasificación
 
REGISTRO CONTABLE DE CONTABILIDAD 2022..
REGISTRO CONTABLE DE CONTABILIDAD 2022..REGISTRO CONTABLE DE CONTABILIDAD 2022..
REGISTRO CONTABLE DE CONTABILIDAD 2022..
 
Reporte de incidencia delictiva Silao marzo 2024
Reporte de incidencia delictiva Silao marzo 2024Reporte de incidencia delictiva Silao marzo 2024
Reporte de incidencia delictiva Silao marzo 2024
 
Las familias más ricas del medio oriente (2024).pdf
Las familias más ricas del medio oriente (2024).pdfLas familias más ricas del medio oriente (2024).pdf
Las familias más ricas del medio oriente (2024).pdf
 
PRESENTACION SOBRE LA HOJA DE CALCULO ⠀⠀
PRESENTACION SOBRE LA HOJA DE CALCULO ⠀⠀PRESENTACION SOBRE LA HOJA DE CALCULO ⠀⠀
PRESENTACION SOBRE LA HOJA DE CALCULO ⠀⠀
 
SEMANA II - EQUIPOS, INSTRUMENTOS Y MATERIALES TOPOGRAFICOS.pdf
SEMANA II - EQUIPOS, INSTRUMENTOS Y MATERIALES TOPOGRAFICOS.pdfSEMANA II - EQUIPOS, INSTRUMENTOS Y MATERIALES TOPOGRAFICOS.pdf
SEMANA II - EQUIPOS, INSTRUMENTOS Y MATERIALES TOPOGRAFICOS.pdf
 
Las familias más ricas de África en el año (2024).pdf
Las familias más ricas de África en el año (2024).pdfLas familias más ricas de África en el año (2024).pdf
Las familias más ricas de África en el año (2024).pdf
 
Crecimiento del PIB real revisado sexenios neoliberales y nueva era del sober...
Crecimiento del PIB real revisado sexenios neoliberales y nueva era del sober...Crecimiento del PIB real revisado sexenios neoliberales y nueva era del sober...
Crecimiento del PIB real revisado sexenios neoliberales y nueva era del sober...
 
EPIDEMIO CANCER PULMON resumen nnn.pptx
EPIDEMIO CANCER PULMON  resumen nnn.pptxEPIDEMIO CANCER PULMON  resumen nnn.pptx
EPIDEMIO CANCER PULMON resumen nnn.pptx
 

Polimorfismo en java

  • 1. POLIMORFISMO Poli: múltiple Morfismo: formas En programación significa que: “Un mismo objeto puede tomar DIVERSAS FORMAS.” Polimorfismo es la posibilidad de que un método tenga el mismo nombre y produzca el mismo efecto básico pero esté implementado de forma distinta en las subclases. ¿QUE ES? Un objeto polimórfico es una entidad que puede contener valores de diferentes tipos durante la ejecución del programa. Una misma conducta o MÉTODO puede ser desarrollada por diferentes objetos de diferentes clases. En programación orientada a objetos, el polimorfismo se refiere a la propiedad por la que es posible enviar mensajes sintácticamente iguales a objetos de tipos distintos. El único requisito que deben cumplir los objetos que se utilizan de manera polimórfica es saber responder al mensaje que se les envía. Es posible que el único modo de poder utilizar objetos de manera polimórfica sea que compartan una raíz común, es decir, una jerarquía de clases, ya que esto proporciona la compatibilidad de tipos de datos necesaria para que sea posible utilizar una misma variable de referencia (que podrá apuntar a objetos de diversas subclases de dicha jerarquía) para enviar el mismo mensaje (o un grupo de mensajes) al grupo de objetos que se tratan de manera polimórfica. El polimorfismo se puede clasificar en dos grandes clases en el que el código no incluye ningún tipo de especificación sobre el tipo de datos sobre el que se trabaja. Así, puede ser utilizado a todo tipo de datos compatible. deben ser explicitados y declarados uno por uno antes de poder ser utilizados. El polimorfismo dinámico unido a la herencia es lo que en ocasiones se conoce como programación genérica.
  • 2. ¿EN QUE SE OCUPA? Se puede ocupar en algunos lenguajes de programación (Java, C++) permiten que dos objetos de distintas jerarquías de clases respondan a los mismos mensajes, a través de las denominadas interfaces En Java las interfaces se declaran mediante la palabra clave Interface. Estas se utilizan para lograr la necesaria concordancia de tipos que hace posible el polimorfismo, también como un contrato que debe cumplir cualquier clase que implemente una cierta interfaz, y como una forma de documentación para los desarrolladores. Java permite apuntar a un objeto con una variable definida como tipo de clase padre. El polimorfismo consiste en instanciar un objeto de una clase hija definiendo el tipo de la clase padre: class Padre{} class Hija extends Padre{} Padre h = new Hija(); EJEMPLO: public class animal { public void comer(){ JOptionPane.showMessageDialog(null,"Comer es natural para los animales"); } public void comer(String comida, int kilos){ JOptionPane.showMessageDialog(null,"El animal puede comer "+kilos+" pacas de "+comida); } public void crecer(){ JOptionPane.showMessageDialog(null,"Crecer es natural en todos los animales"); } public void crecer(long altura, long peso){ JOptionPane.showMessageDialog(null,"El animal creció "+altura+" metros de altura y subió "+peso+" kilos"); } }
  • 3. public class caballo extends animal{ public void comer(String comida){ JOptionPane.showMessageDialog(null,"El caballo come: "+ comida ); } public void crecer(long altura){ JOptionPane.showMessageDialog(null,"El caballo crecio: "+ altura +" cm de altura"); } } public class testcaballo { public static void main(String[] args){ caballo c = new caballo(); c.comer(); c.comer("pasto, alimento y agua"); c.comer("pasto",5); c.crecer(); c.crecer(25L); c.crecer(2L, 15L); } } Recuerde el ejemplo del ecosistema, en donde todos los objetos de las distintas especies heredaban de una superclase llamada Animal, que brindaba la información general de cualquier animal, independiente de su especie. Sin embargo, cada especie hace un uso particular de cada uno de los métodos u operaciones de la clase Animal. El método comer no se podría ejecutar de la misma manera en un caballo que para un pescado, aunque todas las especies realicen estos métodos. A la sobre escritura o implementación específica de métodos es la clave del polimorfismo. VENTAJAS Como bien dijiste, tengo a todos los animales en una colección y todos entienden el mismo mensaje sin importar como lo resuelvan. También agregaría que para el observador (el que usa los objetos polimórficos), hay que escribir menos códigos. DESVENTAJAS Hay que escribir más códigos para el objeto observador. Tengo que tener separadas las especies y hay que mandarle un mensaje a cada una con distintos selectores. CONCLUSION El uso del polimorfismo dentro de la programación es una ventaja muy grande, puesto que podemos programar objetos con características comunes y que todos estos compartan la misma superclase en una jerarquía de clases, como si todas fueran objetos de la superclase, pudiendo ocupar los objetos siempre y cuando compartan la misma superclase.