Clases
6. Herencia
Veremos que es posible diseñar nuevas clases basándose en clases ya existentes.
En C++ esto se llama derivación de clases, y en POO herencia.
Cuando se deriva una clase de otra, normalmente se añadirán nuevos métodos y datos.
Es posible que algunos de estos métodos o datos de la clase original no sean válidos, en ese caso pueden ser enmascarados en la nueva clase o simplemente eliminados. El conjunto de datos y métodos que sobreviven, es lo que se conoce como herencia.
Una vez que una clase se ha escrito creado, depurado y utilizado, se puede difundir entre otros programadores para que pueden reutilizarla en sus programas.
Un programador puede tomar la clase existente, y sin modificarla añadir características adicionales a la misma. Estas operaciones se realizan por derivación de una clase nueva a partir de una clase ya existente.
La reutilización del software es un término muy importante, es similar a la utilización del hardware mediante circuitos integrados.
Las
clases que heredan de clases base se denominan derivadas, estas a su vez pueden ser clases
bases para otras clases derivadas. Se establece así una clasificación jerárquica,
similar a la existente en Biología con los animales y las plantas
Este tema no es parte de la materia.
Mensaje
El mensaje es el modo en que se comunican los objetos entre si. En C++, un mensaje no es más que una llamada a una función de un determinado objeto. Cuando llamemos a una función de un objeto, muy a menudo diremos que estamos enviando un mensaje a ese objeto.
En este sentido, mensaje es el término adecuado cuando hablamos de programación orientada a objetos en general.
Polimorfismo
En la POO el polimorfismo se refiere al hecho de que una misma operación puede tener diferente comportamiento en diferentes objetos.
En otras palabras, diferentes objetos reaccionan al mismo mensaje de manera diferente.
Por ejemplo, supongamos un número de figuras geométricas que responden todas al mensaje Dibujar.
Cada objeto reacciona a este mensaje visualizando su figura en la pantalla. Obviamente, el mecanismo real para dibujar los objetos difiere de una figura a otra, pero todas las figuras realizan esta tarea en respuesta al mismo mensaje.