Polimorfismo C++

Páginas: 5 (1111 palabras) Publicado: 3 de marzo de 2014
1.3.5. POLIMORFISMO
La propiedad de polimorfismo es aquella en que una operación tiene el mismo nombre en diferentes clases, pero se ejecuta
de diferentes formas en cada clase. Así, por ejemplo, la operación abrir se puede dar en diferentes clases: abrir una puerta,
abrir una ventana, abrir un periódico, abrir un archivo, abrir una cuenta corriente en un banco, abrir un libro, etc. En cadacaso
se ejecuta una operación diferente aunque tiene el mismo nombre en todos ellos “abrir”. El polimorfismo es la propiedad de
una operación de ser interpretada sólo por el objeto al que pertenece.
Polimorfismo
• La quinta propiedad significativa de los lenguajes de programación orientados a objetos es el polimorfismo. Esta
propiedad no suele ser considerada como fundamental en los diferentesmodelos de objetos propuestos, pero dada su
importancia, no tiene sentido considerar un modelo objeto que no soporte esta propiedad.
• Polimorfismo es la propiedad que indica, literalmente, la posibilidad de que una entidad tome muchas formas.
• En términos prácticos, el polimorfismo permite referirse a objetos de clases diferentes mediante el mismo elemento
de programa y realizar la mismaoperación de diferentes formas, según sea el objeto que se referencia en ese momento.
• Por ejemplo, cuando se describe la clase mamíferos se puede observar que la operación comer es una operación
fundamental en la vida de los mamíferos, de modo que cada tipo de mamífero debe poder realizar la operación o función
comer. Por otra parte, una vaca o una cabra que pastan en un campo, un niño que secome un bombón o caramelo
y un león que devora a otro animal, son diferentes formas que utilizan los distintos mamíferos para realizar la
misma función (comer).
• El polimorfismo implica la posibilidad de tomar un objeto de un tipo (mamífero, por ejemplo) e indicarle que ejecute
comer; esta acción se ejecutará de diferente forma, según sea el objeto mamífero sobre el que se aplica.
• Clases,herencia y polimorfismo son aspectos claves en la programación orientada a objetos y se reconocen a estos
elementos como esenciales en la misma.
• El polimorfismo adquiere su máxima expresión en la derivación o extensión de clases, es decir, cuando se obtiene
una clase a partir de una clase ya existente, mediante la propiedad de derivación de clases o herencia.
• Así, por ejemplo, si se disponede una figura que represente figuras genéricas, se puede enviar cualquier mensaje,
tanto a un tipo derivado (elipse, círculo, cuadrado, etc.) como al tipo base. Por ejemplo, una clase figura puede aceptar
los mensajes dibujar, borrar y mover. Cualquier tipo derivado de una figura es un tipo de figura y puede recibir el
mismo mensaje.
• Cuando se envía un mensaje, por ejemplo dibujar, estatarea será distinta según que la clase sea un triángulo, un
cuadrado o una elipse. Esta propiedad es el polimorfismo, que permite que una misma función se comporte de diferente
forma según sea la clase sobre la que se aplica.
• La función dibujar se aplica igualmente a un círculo, a un cuadrado o a un triángulo y el objeto ejecutará el código
apropiado dependiendo del tipo específico.
• Elpolimorfismo requiere ligadura tardía o postergada (también llamada dinámica), y esto sólo se puede producir
en lenguajes de programación orientados a objetos.
• Los lenguajes no orientados a objetos soportan ligadura temprana o anterior; esto significa que el compilador genera
una llamada a un nombre específico de función y el enlazador (linker) resuelve la llamada a la dirección absoluta delcódigo que se ha de ejecutar.
En POO, el programa no puede determinar la dirección del código hasta el momento de la ejecución; para resolver
este concepto, los lenguajes orientados a objetos utilizan el concepto de ligadura tardía.
• Cuando se envía un mensaje a un objeto, el código que se llama no se determina hasta el momento de la ejecución. El
compilador asegura que la función existe y...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Herencia y polimorfismo en c++
  • programacion c++ polimorfismo
  • POLIMORFISMO
  • Polimorfismo
  • Polimorfismo
  • Polimorfismo
  • Polimorfismo
  • Polimorfismos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS