SlideShare una empresa de Scribd logo
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
 
Interface Design Getting Real
Interface Design Getting RealInterface Design Getting Real
Interface Design Getting Real
Miguel Rodriguez
 
Estructuras de datos osvaldo cairo
Estructuras de datos   osvaldo cairoEstructuras de datos   osvaldo cairo
Estructuras de datos osvaldo cairo
YossLu Molina
 
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
Kesavan Munuswamy
 
Clases abstractas e interfaces
Clases abstractas e interfacesClases abstractas e interfaces
Clases abstractas e interfaces
lopezcortes
 
MCSA Exam paper 70-412 PDF
MCSA Exam paper 70-412 PDFMCSA Exam paper 70-412 PDF
MCSA Exam paper 70-412 PDF
Kesavan Munuswamy
 
09 Clases Abstractas E Interfaces
09   Clases Abstractas E Interfaces09   Clases Abstractas E Interfaces
09 Clases Abstractas E Interfaces
Network Sens
 
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
 
SQL Server Backup and Restore
SQL Server Backup and RestoreSQL Server Backup and Restore
SQL Server Backup and Restore
Kesavan Munuswamy
 
Alta Disponibilidad con SQL Server 2012
Alta Disponibilidad con SQL Server 2012Alta Disponibilidad con SQL Server 2012
Alta Disponibilidad con SQL Server 2012
dbLearner
 
NoSQL databases pros and cons
NoSQL databases pros and consNoSQL databases pros and cons
NoSQL databases pros and cons
Fabio Fumarola
 
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
 
Polimorfismo y Clases Abstractas
Polimorfismo y Clases AbstractasPolimorfismo y Clases Abstractas
Polimorfismo y Clases Abstractas
codigosyalgomas
 

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

Polimorfism oo
Polimorfism ooPolimorfism oo
Polimorfism oo
lupita_Tecocoatzi
 
Programaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetosProgramaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetos
Jonathan Macías
 
Polimorfismo_PApps
Polimorfismo_PAppsPolimorfismo_PApps
Polimorfismo_PApps
Lupithaa Guerrero
 
Presentacion progra
Presentacion prograPresentacion progra
Presentacion progra
zeta2015
 
Lp13
Lp13Lp13
Act10byme
Act10bymeAct10byme
Act10byme
karinaaura
 
Actividad conceptos poo
Actividad conceptos pooActividad conceptos poo
Actividad conceptos poo
brandonhh10
 
Explicacion de interface
Explicacion de interfaceExplicacion de interface
Explicacion de interface
Boris Salleg
 
Polimorfismo 14k
Polimorfismo 14kPolimorfismo 14k
Polimorfismo 14k
Darthuz Kilates
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
Lupithaa Guerrero
 
4 unidad polimorfismo
4 unidad polimorfismo4 unidad polimorfismo
4 unidad polimorfismo
Ing Joshua Betancourt
 
Interfaces
InterfacesInterfaces
Programación de aplicaciones
Programación de aplicacionesProgramación de aplicaciones
Programación de aplicaciones
Edward Contreras
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
Mirian Janeth Paquirachin Garcia
 
Herencia y Polimorfismo
Herencia y PolimorfismoHerencia y Polimorfismo
Herencia y Polimorfismo
nestor_moren
 
Analisis de la PPO
Analisis de la PPOAnalisis de la PPO
Analisis de la PPO
Edwin Quispe
 
Analisis orientado a objetos
Analisis orientado a objetosAnalisis orientado a objetos
Analisis orientado a objetos
vilma pilco
 
Java morld cap2 [CURSO JAVA]
Java morld cap2 [CURSO JAVA]Java morld cap2 [CURSO JAVA]
Java morld cap2 [CURSO JAVA]
Hack '
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
Darthuz Kilates
 
Herencia
HerenciaHerencia
Herencia
thais0511
 

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

resumen de manual de organizacion y funciones de TI
resumen de manual de organizacion y funciones de TIresumen de manual de organizacion y funciones de TI
resumen de manual de organizacion y funciones de TI
riveroarlett5b
 
Presentación simple corporativa degradado en violeta blanco.pptx
Presentación simple corporativa degradado en violeta blanco.pptxPresentación simple corporativa degradado en violeta blanco.pptx
Presentación simple corporativa degradado en violeta blanco.pptx
eleandroth
 
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIOLINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
AaronPleitez
 
INTELIGENCIA ARTIFICIAL monografia02.pdf
INTELIGENCIA ARTIFICIAL monografia02.pdfINTELIGENCIA ARTIFICIAL monografia02.pdf
INTELIGENCIA ARTIFICIAL monografia02.pdf
YulEz1
 
Informe fina mini bibliotecacomunitaria .docx
Informe fina mini bibliotecacomunitaria .docxInforme fina mini bibliotecacomunitaria .docx
Informe fina mini bibliotecacomunitaria .docx
mirimerlos5
 
MI CECTOR POSTE BLANCO - Paián .pdf
MI  CECTOR  POSTE  BLANCO - Paián   .pdfMI  CECTOR  POSTE  BLANCO - Paián   .pdf
MI CECTOR POSTE BLANCO - Paián .pdf
GustavoTello19
 
ANA0003227-lagunas.pdfñlñlñlñlñññlñlllll
ANA0003227-lagunas.pdfñlñlñlñlñññlñlllllANA0003227-lagunas.pdfñlñlñlñlñññlñlllll
ANA0003227-lagunas.pdfñlñlñlñlñññlñlllll
eliassalascolonia43
 
MONOGRAFIA DEL BUSCADOR YAHOO! APSTI1"A"
MONOGRAFIA DEL BUSCADOR YAHOO! APSTI1"A"MONOGRAFIA DEL BUSCADOR YAHOO! APSTI1"A"
MONOGRAFIA DEL BUSCADOR YAHOO! APSTI1"A"
darkskills2011
 
REPORTE-HEMEROGRÁFICO-MAYO 2024-IRAPUATO.pdf
REPORTE-HEMEROGRÁFICO-MAYO 2024-IRAPUATO.pdfREPORTE-HEMEROGRÁFICO-MAYO 2024-IRAPUATO.pdf
REPORTE-HEMEROGRÁFICO-MAYO 2024-IRAPUATO.pdf
IrapuatoCmovamos
 
PROCESAMIENTO DIGITAL DE IMAGENES PDS 2020
PROCESAMIENTO DIGITAL DE IMAGENES PDS 2020PROCESAMIENTO DIGITAL DE IMAGENES PDS 2020
PROCESAMIENTO DIGITAL DE IMAGENES PDS 2020
hugowagner811
 
04 capital interes simple.pdf de la clase métodos cuantitativos
04 capital interes simple.pdf de la clase métodos cuantitativos04 capital interes simple.pdf de la clase métodos cuantitativos
04 capital interes simple.pdf de la clase métodos cuantitativos
MarcoPolo545324
 
vivienda segura concreto, construcción y métodos
vivienda segura concreto, construcción y métodosvivienda segura concreto, construcción y métodos
vivienda segura concreto, construcción y métodos
DilmerCarranza
 
Plan Emergencia solicitado en obras de construccion
Plan Emergencia  solicitado en obras de construccionPlan Emergencia  solicitado en obras de construccion
Plan Emergencia solicitado en obras de construccion
christianllacchasand
 
Plan de Compensación Dxn Internacional peru pdf
Plan de Compensación Dxn Internacional peru pdfPlan de Compensación Dxn Internacional peru pdf
Plan de Compensación Dxn Internacional peru pdf
agustincarranza11
 
UGEL SAN MIGUEL SACALE TARJETA ROJA A LA VIOLENCIA.pptx
UGEL SAN MIGUEL SACALE TARJETA ROJA A LA VIOLENCIA.pptxUGEL SAN MIGUEL SACALE TARJETA ROJA A LA VIOLENCIA.pptx
UGEL SAN MIGUEL SACALE TARJETA ROJA A LA VIOLENCIA.pptx
Mayra798665
 

Último (15)

resumen de manual de organizacion y funciones de TI
resumen de manual de organizacion y funciones de TIresumen de manual de organizacion y funciones de TI
resumen de manual de organizacion y funciones de TI
 
Presentación simple corporativa degradado en violeta blanco.pptx
Presentación simple corporativa degradado en violeta blanco.pptxPresentación simple corporativa degradado en violeta blanco.pptx
Presentación simple corporativa degradado en violeta blanco.pptx
 
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIOLINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
 
INTELIGENCIA ARTIFICIAL monografia02.pdf
INTELIGENCIA ARTIFICIAL monografia02.pdfINTELIGENCIA ARTIFICIAL monografia02.pdf
INTELIGENCIA ARTIFICIAL monografia02.pdf
 
Informe fina mini bibliotecacomunitaria .docx
Informe fina mini bibliotecacomunitaria .docxInforme fina mini bibliotecacomunitaria .docx
Informe fina mini bibliotecacomunitaria .docx
 
MI CECTOR POSTE BLANCO - Paián .pdf
MI  CECTOR  POSTE  BLANCO - Paián   .pdfMI  CECTOR  POSTE  BLANCO - Paián   .pdf
MI CECTOR POSTE BLANCO - Paián .pdf
 
ANA0003227-lagunas.pdfñlñlñlñlñññlñlllll
ANA0003227-lagunas.pdfñlñlñlñlñññlñlllllANA0003227-lagunas.pdfñlñlñlñlñññlñlllll
ANA0003227-lagunas.pdfñlñlñlñlñññlñlllll
 
MONOGRAFIA DEL BUSCADOR YAHOO! APSTI1"A"
MONOGRAFIA DEL BUSCADOR YAHOO! APSTI1"A"MONOGRAFIA DEL BUSCADOR YAHOO! APSTI1"A"
MONOGRAFIA DEL BUSCADOR YAHOO! APSTI1"A"
 
REPORTE-HEMEROGRÁFICO-MAYO 2024-IRAPUATO.pdf
REPORTE-HEMEROGRÁFICO-MAYO 2024-IRAPUATO.pdfREPORTE-HEMEROGRÁFICO-MAYO 2024-IRAPUATO.pdf
REPORTE-HEMEROGRÁFICO-MAYO 2024-IRAPUATO.pdf
 
PROCESAMIENTO DIGITAL DE IMAGENES PDS 2020
PROCESAMIENTO DIGITAL DE IMAGENES PDS 2020PROCESAMIENTO DIGITAL DE IMAGENES PDS 2020
PROCESAMIENTO DIGITAL DE IMAGENES PDS 2020
 
04 capital interes simple.pdf de la clase métodos cuantitativos
04 capital interes simple.pdf de la clase métodos cuantitativos04 capital interes simple.pdf de la clase métodos cuantitativos
04 capital interes simple.pdf de la clase métodos cuantitativos
 
vivienda segura concreto, construcción y métodos
vivienda segura concreto, construcción y métodosvivienda segura concreto, construcción y métodos
vivienda segura concreto, construcción y métodos
 
Plan Emergencia solicitado en obras de construccion
Plan Emergencia  solicitado en obras de construccionPlan Emergencia  solicitado en obras de construccion
Plan Emergencia solicitado en obras de construccion
 
Plan de Compensación Dxn Internacional peru pdf
Plan de Compensación Dxn Internacional peru pdfPlan de Compensación Dxn Internacional peru pdf
Plan de Compensación Dxn Internacional peru pdf
 
UGEL SAN MIGUEL SACALE TARJETA ROJA A LA VIOLENCIA.pptx
UGEL SAN MIGUEL SACALE TARJETA ROJA A LA VIOLENCIA.pptxUGEL SAN MIGUEL SACALE TARJETA ROJA A LA VIOLENCIA.pptx
UGEL SAN MIGUEL SACALE TARJETA ROJA A LA VIOLENCIA.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.