Herencia: Clases base y clases derivadas
A menudo un objeto de
una clase en realidad también “es un” objeto de otra clase. Ciertamente un
rectángulo es un cuadrilátero. Así, se puede decir que la clase Rectángulo
hereda de la clase Cuadrilátero. En este contexto, a la clase cuadrilátero se
le llama clase base y a la clase Rectángulo se le llama clase derivada. Un
rectángulo es un tipo de cuadrilátero, pero es incorrecto decir que un
cuadrilátero es un rectángulo.
Por lo general, la herencia produce clases derivadas con más
características que sus clases base, de modo que los términos superclases y
subclases pueden ser confusos; evitaremos estos términos . Los objetos de
clases derivadas pueden considerarse como objetos de sus propias clases base; esto
implica que existen más objetos asociados con las clases base y menos objetos
asociados con las clases derivadas, así que es razonable llamar las clases base
“superclases” y a las clases derivadas “subclases”.
La herencia forma estructuras jerárquicas en forma de
árboles. Una clase base existe en una relación jerarquíca con sus clase
derivadas. Una clase ciertamente puede existir por sí misma, pero cuando se
utiliza la clase con el mecanismo de herencia que la clase se convierte en una
clase base que suministra los atributos y el comportamiento para otras clases,
o en una clase derivada que hereda los atributos y comportamientos.
Con la clase herencia pública, los miembros públicos y
protegidos de la clase base se heredan como miembros públicos y privados, respectivamente. Recuerde que los miembros
privados de una clase baso no están accesibles desde las clases derivadas de
dicha clase. Observe que las funciones amigas no se heredan.
Es posible tratar a los objetos de clases base y a los
objetos de clase derivadas de manera similar; es similitud se expresa en los
atributos y en el comportamiento de la clase. Los objetos de cualquier clase
derivada mediante herencia pública de una clase base común pueden tratarse como objetos de la clase base.



No hay comentarios:
Publicar un comentario