Herencia, polimorfismo

Páginas: 20 (4841 palabras) Publicado: 23 de junio de 2013
INTRODUCCIÓN
El origen de muchos de los conceptos básicos del desarrolla orientado a objetos (objeto y clase, entre otros) se remonta a finales de la década de los anos 60 y comienzo de los 70, con la aparición de los lenguajes Simula 1[6] y Simula67 [4] Sin embargo, hasta hace cuatro o cinco anos, tales conceptos hablar pasado prácticamente desapercibidos para la mayor parte de la comunidadinformática. ¿Cuáles han sido los motivos que han provocado que en estos últimos anos el interés por los sistemas orientados a objetos haya experimentado un crecimiento tan espectacular, como lo demuestran los centenares de artículos y de libros publicados en relación con este tema? Aunque para algunos se trata simplemente de una moda pasajera, las razones son, sin duda, mucho más profundas. Ennuestra opinión, deben buscarse en las crecientes demandas y expectativas depositadas en la, todavía incipiente, Ingeniería de Software:
• Los sistemas son cada vez mas sofisticados, no sólo por su tamango, sino por su complejidad (basta con pensar en los ambiciosos proyectos de las agencias espaciales o de algunos ministerios de defensa).
• Con el transcurso del tiempo, aumenta de formasignificativa la preocupación por temas tales como la calidad, fiabilidad y productividad en el desarrollo de software.
No hay duda de que el desarrollo orientado a objetos se ha revelado como una de las formulas más prometedoras a la hora de afrontar el diseño, la implementaron y el mantenimiento de sistemas complejos y a gran escala. Prueba de ello es su incursión en áreas tan dispares como:la principalaportación de esta nueva tecnología a la Ingeniería del Software es la posibilidad de reutilización de componentes software. Tal posibilidad se sustenta en una serie de mecanismos y de conceptos, entre los cuales merecen especial atención, por su carácter innovador, la herencia y el polimorfismo. A ellos esta dedicado el resto del articulo.El desarrollo orientado a objetos se ha revelado como unade las alternativas más prometedoras de cara a afrontar el diseño, la implementación y el mantenimiento de sistemas complejos. Sin duda, los conceptos de herencia y polimorfismo constituyen uno de los factores que más ha contribuido a ello.




"el mecanismo que permite definir e Invocar funciones idénticas en denominación e interfaz, pero con implementaron diferente".
Esta definiciónintroduce un aspecto muy importante del polimorfismo: la asociación, o vinculo, entre cada llamada a una de estas funciones polimorfismo y la implementación concreta finalmente invocada. Cuando este vinculo puede establecerse en tiempo de compilación, se suele hablar de vinculación estatica (static binding). Por contra, cuando la implementación a emplear, puede determinarse en tiempo de ejecución, eltermino empleado es el de vinculación dinámica (dynamic binding).
En C++, por ejemplo, la vinculación dinámica de las llamadas a funciones polimórficas (en C++ reciben el calificativo de funciones virtuales) se consigue en base a la posibilidad que ofrece este lenguaje de utilizar un puntero a objetos de una clase como puntero a objetos de cualquiera de las clases descendientes de la anterior.Así, cuando la llamada a una función virtual, definida en una clase y en una o varias de sus descendientes, se realiza sobre un objeto que viene referenciado mediante un puntero a la clase padre, el compilador es incapaz de determinar que implementación debe asociar a la llamada, ya que desconoce cual será la clase del objeto en el momento de su ejecución. Dicha determinación debe quedar aplazada, portanto, hasta ese instante.
Como se puede observar, el concepto de polimorfismo en C++, y en general en casi todos los lenguajes de programación basados en el paradigma de objeto, esta estrechamente ligado al concepto de herencia, dado que las funciones polimórficas sólo pueden definirse entre clases que guardan entre sí una relación de parentesco (clases con un antecesor común).
Aunque el...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • HERENCIA Y POLIMORFISMO
  • herencia y polimorfismo
  • herencia y polimorfismo
  • Herencia y polimorfismo
  • Herencia y polimorfismo
  • Encapsulamiento herencia y polimorfismo
  • Herencia y polimorfismo en c++
  • herencia y polimorfismo en java

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS