Herencia informatica

Herencia (informática)

En orientación a objetos la herencia es el mecanismo fundamental para implementar la reutilización y extensibilidad del software. A través de ella los diseñadores puedenconstruir nuevas clases partiendo de una jerarquía de clases ya existente (comprobadas y verificadas) evitando con ello el rediseño, la modificación y verificación de la parte ya implementada. Laherencia facilita la creación de objetos a partir de otros ya existentes, obteniendo características (métodos y atributos) similares a los ya existentes.
Es la relación entre una clase general y otra clasemás especifica. Por ejemplo: Si declaramos una clase párrafo derivada de una clase texto, todos los métodos y variables asociadas con la clase texto, son automáticamente heredados por la subclasepárrafo.
La herencia es uno de los mecanismos de la programación orientada a objetos, por medio del cual una clase se deriva de otra, llamada entonces clase base o clase padre,(a veces se le denominasuperclase pero no es muy comun), de manera que extiende su funcionalidad. Una de sus funciones más importantes es la de proveer Polimorfismo y late binding.

Herencia y ocultación de información:
Eldiseñador puede definir qué variables de instancia y métodos de los objetos de una clase son visibles. En C++ y java esto se consigue con las especificaciones private, protected y public. Sólo lasvariables y métodos definidos como públicos en un objeto serán visibles por todos los objetos.
En cuanto a las subclases, que heredan las estructuras de las superclases, el diseñador puede controlar quémiembros de las superclases son visibles en las subclases. En el caso de java y C++ los especificadores de acceso (private, protected, public) de los miembros de la superclase afectan también a laherencia:
Private: ningún miembro privado de la superclase es visible en la subclase.
Protected: los miembros protegidos de la superclase son visibles en la subclase, pero no visibles para el...