Logo Studenta

Herencia de clases en Java

¡Estudia con miles de materiales!

Vista previa del material en texto

UNIDAD 3 HERENCIA 
La herencia permite crear una clase a partir de otra ya existente. La clase nueva 
(llamada subclase, clase derivada o clase hija), accede a los elementos de la clase 
existente (superclase, clase base o clase padre). Generalmente, se agregan más 
atributos y métodos particulares a la nueva clase. Por eso se dice que una subclase es 
una especialización de la superclase. 
La herencia es una forma de reutilización de software en la que las clases se crean 
absorbiendo los atributos y métodos de una clase existente, y se mejora con nuevas 
capacidades o con modificaciones a las capacidades ya existentes. La reutilización de 
software ahorra tiempo durante el desarrollo de programas. También fomenta la 
reutilización de software probado y depurado de alta calidad, lo cual aumenta la 
probabilidad de que un sistema se implemente con efectividad (Deitel). 
El siguiente diagrama de clases representa la herencia entre dos clases. En este caso, 
la clase B hereda de la clase A 
 
Entonces se puede decir que B es clase hija de A, que B es la clase derivada de A, o 
que B es subclase de A, o simplemente que B es un A. Análogamente, se puede decir 
que A es la clase padre de B, que A es la clase base de B, o que A es la superclase de 
B (no se puede decir que A es un B). Para representar la relación de herencia entre dos 
clases, se usa una flecha que parte de la clase hija y termina en la clase padre, con 
una punta no sólida. 
De este diagrama se pueden concluir, entre otras, las siguientes afirmaciones: 
 Un objeto de la clase A tiene dos atributos: w,x, con dos métodos: uno(), dos() 
 Un objeto de la clase B tiene tres atributos: w,x,y con tres métodos: uno(), dos(), 
tres(). 
 Para un objeto de la clase B, tanto los atributos w,x como los métodos 
uno(),dos() los tiene por herencia de su superclase A. No obstante, en lenguajes 
como Java, no tiene acceso a esos elementos heredados cuando son privados. 
 Es posible crear un objeto de la clase hija en una referencia de la clase padre, 
es decir, se puede crear un objeto de la clase B en una referencia de la clase A, 
aunque solo serán visibles los atributos y métodos definidos en la clase A (los 
elementos definidos en la clase B seguirán existiendo, pero no serán visibles 
desde una referencia de A) 
 No es posible crear un objeto de la clase padre en una referencia de la clase hija 
 
A su vez, la clase hija puede tener su propia clase derivada: 
 
Un objeto de la clase C tendrá como atributos w,x,y,z, y como métodos uno(), dos(), 
tres() y cuatro(). 
También, una clase puede tener varias clases hijas, llegándose a formar las llamadas 
jerarquías de clases, como en los siguientes ejemplos. 
 
 
 
 
 
Note como una clase padre puede tener una o más clases hijas, pero una clase no 
puede tener más de una clase padre. A esto se le conoce como herencia simple. 
Cuando una clase tiene más de una clase padre, se tiene una herencia múltiple, la cual 
es soportada por lenguajes como C++, pero no por otros como Java o C#. Entonces, 
sólo abordaremos la herencia simple.

Otros materiales

Materiales relacionados

96 pag.
SISTEMAS DE INFORMACION

SIN SIGLA

User badge image

edictarojas50

1 pag.
Conceptos básicos de POO

ITCM

User badge image

Edwin Alejandro Madrigal González

26 pag.