Embellezador

Páginas: 9 (2094 palabras) Publicado: 4 de noviembre de 2012
7. Herencia7.1 Concepto General La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. La herencia permite a un conjunto de clases relacionadas permanecer bajo un único paraguas, de forma que puedan ser consideradas y manejadas colectivamente.
La herencia permite el refinamiento o especialización de una clase existente:
Se puedendefinir los miembros
Se pueden ocultar los miembros
Se pueden añadir nuevos miembros
La herencia es la característica clave de los sistemas orientados a objeto para propiciar la reusabilidad:
Es la parte orientada de los sistemas de objetos
Implementa las relaciones es-un (type of) o es-una-clase-de (instance of)

La clase Pelota es la clase padre (o base, o superclase) enla jerarquía de abajo. Sus métodos y atributos son heredados por las clases derivadas (hijas o subclases). Para los objetos de las clases derivadas no es evidente si los métodos son nativos a Rugby o Fútbol, o si han sido derivados de una clase de nivel superior.
Fútbol es una clase de Pelota. Fútbol tiene todos los atributos y operaciones de Pelota. No obstante, la clase Fútbol ha ocultado(hecho privada) la operación desinflar (sacándola del interfaz público) y sobrecargando el método lanzar con una implementación apropiada para el fútbol.

La herencia es una forma de especialización en la que las clases hijas son refinadas para tener el comportamiento y atributos adecuados para la aplicación de que se trate. Al poder las clases derivadas añadir, redefinir y ocultar miembros, laherencia se convierte en reusabilidad programable.
Otra razón para redefinir un método es que la clase base proporcione una implementación no óptima. A la luz del contexto en que se usen, las subclases pueden proporcionar una implementación óptima. Por ejemplo, mejores algoritmos y técnicas de almacenamiento pueden ser posibles en determinadas clases derivadas.
7.2 Herencia en JavaEn Java, como enotros lenguajes de programación orientados a objetos, las clases pueden derivar desde otras clases. La clase derivada (la clase que proviene de otra clase) se llama subclase. La clase de la que está derivada se denomina superclase. De hecho, en Java, todas las clases deben derivar de alguna clase. Lo que nos lleva a la cuestión ¿Dónde empieza todo esto?. La clase más alta, la clase de la que todaslas demás descienden, es la clase Object, definida en java.lang. Object es la raíz de la herencia de todas las clases.
Las subclases heredan el estado y el comportamiento en forma de las variables y los métodos de su superclase. La subclase puede utilizar los ítems heredados de su superclase tal y como son, o puede modificarlos o sobreescribirlos. Por eso, según se va bajando por el árbol de laherencia, las clases se convierten en más y más especializadas.

Definición:
Una subclase es una clase que desciende de otra clase. Una subclase hereda el estado y el comportamiento de todos sus ancestros. El término superclase se refiere a la clase que es el ancestro más directo, así como a todas las clases ascendentes.

Para indicar que una clase deriva de otra se utiliza la palabra extends,como por ejemplo:
class CirculoGrafico extends Circulo {...}
Cuando una clase deriva de otra, hereda todas sus variables y métodos. Estas funciones y variables miembro pueden ser redefinidas (overridden) en la clase derivada, que puede también definir o añadir nuevas variables y métodos. En cierta forma es como si la sub-clase (la clase derivada) “contuviera” un objeto de la super-clase; enrealidad lo “amplía” con nuevas variables y métodos.
Java permite múltiples niveles de herencia, pero no permite que una clase derive de varias (no es posible la herencia múltiple). Se pueden crear tantas clases derivadas de una misma clase como se quiera.
Por ejemplo, sabemos bien que un gato es un mamífero. Sin embargo es también un concepto más específico, lo que significa que una clase...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS