LA HERENCIA en Java A. Introducción La verdadera potencia de la programacion enfocada a
objetos radica en su capacidad para reflejar la abstraccion que el cerebro humano realiza
automaticamente mientras el proceso de aprendizaje y el proceso de analisis de informacion. Las personas percibimos la verdad
como un conjunto de
objetos interrelacionados. Felicidades interrelaciones,
pueden verse
como un conjunto de abstr
acciones y generalizaciones que se han ido asimilando desde la niñez. Asi, los defensores de la programacion enfocada a
objetos afirman que esta tecnica se adecua mejor al funcionamiento del cerebro humano, al permitir descomponer un asunto de alguna magnitud en un conjunto de asuntos menores subordinados del primero. La capacidad de descomponer un asunto o concepto en un conjunto de
objetos relacionados
entre si, y cuyo comportamiento es facilmente identificable, puede ser muy provechoso para el
desarrollo de proyectos informaticos. B. Jerarquía La
herencia es el mecanismo importante de relacion
entre clases en la orientacion a objetos. Relaciona las clases de forma jerarquica; una clase padre o superclase
sobre otras clases hijas o subclases. Imagen 4: Ejemplo de otro árbol de herencia Los descendientes de una clase heredan todas las
variables y metodos que sus ascendientes hayan especificado
como heredables, asimismo de crear los suyos propios. La caracteristica de herencia, nos faculta definir nuevas clases derivadas de otra ya existente, que la especializan de cierta manera. Asi logramos definir una jerarquia de clases, que se puede presentar mediante un arbol de herencia. En todo lenguaje orientado a objetos tiene lugar una jerarquia, mediante la que las clases se relacionan en terminos de herencia. En Java, el
punto mas alto de la jerarquia es la clase Object de la cual derivan todas las demas clases. C. Herencia múltiple En la orientacion a objetos, se estiman dos
tipos de herencia, simple y multiple. En el
caso de la primera, una clase solo puede derivar de una unica superclase. Para el segundo tipo, una clase puede descender de algúnas superclases. En Java solo se dispone de herencia simple, para una gran sencillez del lenguaje, si bien se compensa de alguna forma la inexistencia de herencia multiple con un concepto denominado interface, que estudiaremos mas adelante. D. Declaración Para indicar que una clase deriva de otra, heredando sus propiedades (metodos y atributos), se usa el termino extends,
como en el próximo ejemplo: public class SubClase extends SuperClase { // Contenido de la clase } Por ejemplo, creamos una clase MiPunto3D, hija de la clase ya mostrada MiPunto: class MiPunto3D extends MiPunto { int z; MiPunto3D( ) { x = 0; // Heredado de MiPunto y = 0; // Heredado de MiPunto z = 0; // Nuevo atributo } } La palabra clave extends se emplea para decir que queremos crear una subclase de la clase que es nombrada a continuacion, en vuestro caso MiPunto3D es hija de MiPunto.