Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more ➡
Download
Standard view
Full view
of .
Add note
Save to My Library
Sync to mobile
Look up keyword
Like this
18Activity
×
0 of .
Results for:
No results containing your search query
P. 1
Jerarquía de Clases

Jerarquía de Clases

Ratings: (0)|Views: 2,624|Likes:
Un pequeño escrito acerca de cómo implementar superclases y subclases en Java
Un pequeño escrito acerca de cómo implementar superclases y subclases en Java

More info:

Published by: Diego Enrique Hernández González on Oct 06, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See More
See less

07/12/2013

pdf

text

original

 
Jerarquía de Clases
Ing. Diego Enrique Hernández González6 de octubre de 2010
Conceptos básicos
El propósito de la herencia en la POO es el ahorro de esfuerzo al elaborar el código. A partir de clasesque generalicen el mayor número de características posibles, se pueden declarar otras que tomen esas mismascaracterísticas y que además sirvan para tratar casos particulares. Para ello se necesita plantear una
jerarquía declases
.La jerarquía de clases es un conjunto de clases que describen un concepto ampliamente, desde su caso másgeneral a sus casos más particulares; se puede ver también como un árbol, donde las clases que están en losniveles superiores heredan sus atributos y métodos a las que están en los níveles inferiores. Mientras se asciendaen la jerarquía, aumenta el nivel de abstracción en las clases.La clase que hereda sus atributos y métodos a otra se le denomina
clase padre
,
clase base
o
superclase
. A laclase que recibe esa herencia se le llama
clase derivada
o
subclase
. Esta herencia puede ser
directa
, cuando unasuperclase hereda sus atributos a una subclase del nivel inmediatamente inferior, o
indirecta
, cuando hereda susatributos a otra que se encuentra 2 o más niveles más abajo en la jerarquía.Un detallequeno hay queperderdevista:todas las clases en Java, incluso aquellas declaradas porelusuario,son implícitamente subclases de la clase
Object 
; esta hereda métodos para el manejo de los objetos.
Diseño de una jerarquía de clases
Supongamos que en un proyecto tenemos 3 clases:
Auto
,
Bicicleta
y
Avión
. Podríamos programar cadaclase por separado, pero también podríamos colocar sus atributos y método en común en una clase denominada
Transporte
(ejemplos: atributos
velocidad 
y
cantidad de pasajeros
; métodos
acelerar 
y
desacelerar 
). Tambiénpodríamos, si es necesario, manejar casos particulares de cada clase. Desde la clase
Auto
podríamos derivarotras como
AutoDeportivo
,
AutoCompacto
o
Camioneta
; al igual que con la clase Transporte, en la clase Autose reunirían atributos y métodos que tuvieran en común esas clases derivadas (atributos:
número de puertas
,
kilometraje
; métodos:
rellenar el tanque
,
activar los limpiaparabrisas
). Para representar una herencia en eldiagrama de clases ésto se usa una flecha con la punta vacía, tal como en la figura 1.
Implementación de una jerarquía de clases
Supongamos que tenemos una clase llamada
ObjetoPadre
, con sus atributos y métodos particulares. Siqueremos que otra clase llamada
ObjetoHijo
herede esos atributos, en el momento de declararla lo indicamoscon la palabra reservada
extends
:
class
ObjetoHijo
extends
ObjetoPadre {
// Se declaran atributos y todos que son para esta// esta clase en particula
}
Para algunas clases del ejemplo, podríamos hacer lo siguiente:
class
Avion
extends
Transporte {
// Se declaran atributos y todos que son de esta// clase en particular // ...
1
 
Figura 1: Jerarquía de clases. La clase
Transporte
del diagrama es la superclase de mayor jerarquía.
}
class
Automovil
extends
Transporte {
// Se declaran atributos y todos que son de esta// clase en particular, recuerda que cada clase// esen un archivo diferente
}
class
AutomovilDeLujo
extends
Automovil {
// ...
}
Al momento de usar de instanciar los objetos de clases que heredan métodos y atributos de clases superiores,podemos usar de esos métodos y atributos de manera indiscriminada:
class
Avion
extends
Transporte {
// ...
 public static void
main (String[] args) {
// Declaro 3 objetos de 3 clases distintas, entre estas clases// se heredan atributos y todos
Transporte ejemploTransporte =
new
Transporte();Automovil ejemploAutomovil =
new
Automovil();AutomovilDeportivo ejemploAutoDeportivo =
new
AutomovilDeportivo();
// en la clase superior solo se puede acceder a los todos// que tiene de por declarados
ejemploTransporte.acelerar();
// podemos usar los todos de la clase de orden superior // tal como si fueran propios, sin necesidad de referirse// a esa clase
ejemploAutomovil.desacelerar();
int
numeroPasajeros = ejemploAutomovil.getNumeroPasajeros();
// y cuando sea necesario podemos hacer uso de los todos de clase
2

Activity (18)

You've already reviewed this. Edit your review.
1 hundred reads
1 thousand reads
Antonio Viñas liked this
edty12 liked this
humfer2 liked this

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->