sábado, 9 de enero de 2016

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