R73052
Páginas: 6 (1421 palabras)
Publicado: 17 de octubre de 2015
J. Valderrama Martín, R. Rivera Pastor, C. Gascón Navarro
TELEFÓNICA INVESTIGACIÓN Y DESARROLLO
El desarrollo orientado a objetos se ha revelado como una de 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 losfactores que más ha contribuido a ello.
En este articulo se ofrece una introducción a ambos conceptos. Asimismo, y a fin de valorar las ventajas e inconvenientes que se derivan de su utilización, se plantea un pequeño ejemplo comparativo cuya solución se aborda, por un lado, aplicando estas ideas, y por otro, prescindiendo de ellas. El lenguaje empleado para ello es C++. Su conocimiento, si bien esdeseable, no constituye un obstáculo para la comprensión del ejemplo.
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 hablarpasado prácticamente desapercibidos para la mayor parte de la comunidad informá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 unamoda pasajera, las razones son, sin duda, mucho más profundas. En nuestra 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 dedefensa).
Con el transcurso del tiempo, aumenta de forma significativa 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. Pruebade ello es su incursión en áreas tan dispares como:
Bases de datos [9][11]
Inteligencia Artificial [7]
Sistemas Distribuidos [1]
Simulación [3][17][8]
Interfaces de Usuario [2][14]
De acuerdo con Meyer [12], la principal aportació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 demecanismos 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.
HERENCIA
El concepto de herencia constituye, a nuestro juicio, la principal innovación del desarrollo orientado a objetos. Se trata de un concepto bastante simple e intuitivo que, de una manera informal, puede definirse como:
"elmecanismo que permite definir una clase de objetos tomando como base la definición de otra clase"
Una clase se define en términos de atributos y de métodos (u operaciones). Por tanto, otra forma de expresar la definición anterior seria la siguiente:
"herencia es el mecanismo que permite a una clase de objetos incorporar atributos y métodos de otra clase, añadiendolos a los que ya posee".
En laterminología habitual, la clase que hereda las características de otra y la clase de partida reciben los calificativos de "subclase" y "superclase", respectivamente. De ahí que, en numerosas ocasiones, la relación de herencia aparezca también referenciada como "superclase/subclase".
Por otro lado, también suele ser muy habitual hablar en términos de "clase padre" y "clase hija", dado lo intuitivo...
Leer documento completo
Regístrate para leer el documento completo.