¿ Qué es el polimorfismo ?
Pensemos en el concepto antes que hacer mención a cualquier lenguaje de programación.
Leamos detenidamente este ejemplo: el número de especies de seres vivos que habitan en el planeta tierra es al rededor de 1.75 millones hasta la fecha, en que especies podríamos pensar: especie animal, hongos, plantas, bacterias, virus, etc, etc, etc.... Ahora bien, cada especie se divide en distintos grupos, por ejemplo;
Podrían preguntarse y que tiene que ver el tema de polimorfismo de POO con este diagrama, ahora verán.
Nos queda claro que las especies de seres vivos están subdivididas en grupos y esos grupo de igual forma se encuentran subdivididos también, y así hasta llegar a especies muy especificas como mencionar el nombre de un animal. Donde podemos ver el polimorfismo aquí?, pues que la especie animal nos proporciona información de cualquier animal independientemente de su especie, grupo o raza, sin embargo cada especie, grupo o raza hace uso especial de esas características y la forma en que cada animal hace uso de esas características es la clave del polimorfismo, porque la forma de comer de un león no es la misa de un pavo, sin embargo ambos animales pueden hacer dicha acción.
Aquí les va el ejemplo, ahora si en código:
Tenemos la clase animal definida de la siguiente forma:
En esta clase definimos una característica común a todos los animales, todos los animales comen.
public class Animal {
public void comer(){
System.out.println("El animal come");
}
}
Ahora definimos la clase de un animal especifico, por ejemplo un Leon, ojo, aquí también la clase Leon tiene definido el método comer con la misma firma que en la clase Animal, pero notemos que el bloque del método no es el mismo que en la clase Animal, a esto se le llama sobre-escritura de método y recuerdan en el ejemplo el apartado donde digo que la forma en que cada animal hace uso de sus características es la clave del polimorfismo, pues aqui en la POO es precisamente la sobre-escritura de métodos.; Notemos que el método atacar no esta definido en la clase Animal y por lo tanto no esta sobre-escrito, este método es propio del Leon.
public class Leon extends Animal{
public void comer(){
System.out.println("el leon come carne");
}
public void atacar(){
}
}
Ahora probamos estas dos claces y veremos el resultado:
public class Polmorfismo {
public static void main(String[] args) {
// TODO code application logic here
Animal a = new Animal();
Animal l = new Leon();
a.comer();
l.comer();
}
}
El resultado de la ejecución de esta clase veremos que cada objeto hace uso del método comer de una forma muy particular.
El animal come
el leon come carne
Aquí nos podemos dar cuenta que cada objeto implementa de manera distinta la acción de comer, sin embargo en este ejemplo podríamos apreciar claramente esta deducción, ahora vemos el siguiente código.
Nos queda claro que las especies de seres vivos están subdivididas en grupos y esos grupo de igual forma se encuentran subdivididos también, y así hasta llegar a especies muy especificas como mencionar el nombre de un animal. Donde podemos ver el polimorfismo aquí?, pues que la especie animal nos proporciona información de cualquier animal independientemente de su especie, grupo o raza, sin embargo cada especie, grupo o raza hace uso especial de esas características y la forma en que cada animal hace uso de esas características es la clave del polimorfismo, porque la forma de comer de un león no es la misa de un pavo, sin embargo ambos animales pueden hacer dicha acción.
Ahora veremos un ejemplo aplicado a la programación.
En la POO la definición de polimorfismo es la característica que un objeto tiene para poder tomar la forma o el lugar de un tipo diferente, en términos más comunes es la cualidad que tienen los objetos de compartir características comunes entre ellos utilizando una superclase que contenga esas características comunes y que podamos usar los objetos como si fueran del mismo tipo de la superclase.Aquí les va el ejemplo, ahora si en código:
Tenemos la clase animal definida de la siguiente forma:
En esta clase definimos una característica común a todos los animales, todos los animales comen.
public class Animal {
public void comer(){
System.out.println("El animal come");
}
}
Ahora definimos la clase de un animal especifico, por ejemplo un Leon, ojo, aquí también la clase Leon tiene definido el método comer con la misma firma que en la clase Animal, pero notemos que el bloque del método no es el mismo que en la clase Animal, a esto se le llama sobre-escritura de método y recuerdan en el ejemplo el apartado donde digo que la forma en que cada animal hace uso de sus características es la clave del polimorfismo, pues aqui en la POO es precisamente la sobre-escritura de métodos.; Notemos que el método atacar no esta definido en la clase Animal y por lo tanto no esta sobre-escrito, este método es propio del Leon.
public class Leon extends Animal{
public void comer(){
System.out.println("el leon come carne");
}
public void atacar(){
}
}
Ahora probamos estas dos claces y veremos el resultado:
public class Polmorfismo {
public static void main(String[] args) {
// TODO code application logic here
Animal a = new Animal();
Animal l = new Leon();
a.comer();
l.comer();
}
}
El resultado de la ejecución de esta clase veremos que cada objeto hace uso del método comer de una forma muy particular.
El animal come
el leon come carne
Aquí nos podemos dar cuenta que cada objeto implementa de manera distinta la acción de comer, sin embargo en este ejemplo podríamos apreciar claramente esta deducción, ahora vemos el siguiente código.
julissa piscil zenteno
ResponderEliminarEl polimorfismo se refiere a la capacidad para que varias clases derivadas de una antecesora utilicen un mismo método de forma diferente.
La sobrecarga de metodos consiste en crear varios metodos con el mismo nombre éste puede definirse varias veces en la misma clase
Bien, entonces el mismo objeto se puede comportar de diferentes formas dependiendo del pase de mensaje se comportará de manera distinta, mientras que la sobrecarga es utilizar el mismo nombre del método pero con diferente estructura. :)
Eliminarisaac aguilar ontiveros
ResponderEliminarSobrecarga hace referencia a un conjunto de métodos con el mismo nombre pero diferente número de parámetros y tipos.
Polimorfismo hace referencia a un conjunto de métodos con el mismo nombre e igual número de parámetros y Tipos, pero que se encuentran definidos en diferentes Clases.
MARGARITA GIOVANNA NUÑEZ PORTILLO
ResponderEliminarPOLIMORFISMO
Comportamientos diferentes, relacionados con objetos distintos, pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizará el comportamiento que corresponde al objeto que se esté utilizando.
SOBRECARGA DE METODOS
La sobrecarga de métodos es la creación de varios métodos con el mismo nombre pero diferente tipo
Polimorfismo: OK
EliminarSobrecarga: Bien
Este comentario ha sido eliminado por el autor.
ResponderEliminarDAVID VAZQUEZ HERNANDEZ:
ResponderEliminarPor lo que entiendo el polimorfismo consiste en obtener un mismo método con diferentes funciones es decir suponiendo que tengamos una clase Saludo con el método Saludo el cual sería su constructor, pero en este caso tendríamos varios constructores pero siempre siguiendo las reglas de independencia en cuestión a los parámetros de cada constructor para que así puedan diferenciarse uno de otro, sin embargo cada uno tendrá diferentes procesos internos en sí mismo.
Por lo que entiendo la sobrecarga de métodos es la creación de varios métodos con el mismo nombre pero con diferentes firmas y definición.
Te pido por favor que analices el concepto de Polimorfismo
EliminarSobrecarga: Bien
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.
ResponderEliminar¿Y sobrecarga?
EliminarEl polimorfismos en tomar los atributos en común de algunos objetos pero el método hace distintas operaciones
ResponderEliminarSobrecarga de métodos es cuando varios métodos se llaman iguales pero con parámetros distintos loa tributos ya pueden estar establecidos o no
MB
Eliminar