Sie sind auf Seite 1von 28

UNIVERSIDAD DE PANAMÁ

CENTRO REGIONAL UNIVERSITARIO DE VERAGUAS


FACULTAD DE INFORMÁTICA ELECTRÓNICA Y COMUNICACIONES
LICENCIATURA EN INFORMÁTICA PARA LA GESTIÓN
EDUCATIVA Y EMPRESARIAL

TEMA:
“LA PROGRAMACIÓN ORIENTADA A OBJETO
JERARQUÍA DE CLASES”

MATERIA:
PROGRAMACIÓN IV

PROFESOR:
DIEGO SANTIMATEO

ESTUDIANTE:
ERIC L GONZÁLEZ S
9- 723- 2416

FECHA DE ENTREGA:
30/11/06

II- SEMESTRE 2006

OOP- Jerarquía de Clases -1- Eric L González S


ÍNDICE

Pág.

INTRODUCCIÓN.....................................................................................................................3
JERARQUÍA DE CLASES:.......................................................................................................5
SUPERCLASE Y SUBCLASE..................................................................................................6
HERENCIA................................................................................................................................7
POLIFORMISMO:...................................................................................................................11
LA PALABRA RESERVADA FINAL:....................................................................................14
DIAGRAMA UML..................................................................................................................20
.................................................................................................................................................20
CONCLUSIÓN........................................................................................................................21
REFERENCIA BIBLIOGRÁFICA..........................................................................................22

OOP- Jerarquía de Clases -2- Eric L González S


INTRODUCCIÓN

Es éste trabajo hablaremos uno de los aspectos más importantes de la POO


el cual es la Jerarquía de Clases en el cual se describen los diferentes aspectos que
abarca la Jerarquía de clases.
Se ha distribuido de una forma en la cual se pueda apreciar y comprender
fácilmente todo lo referente a la Jerarquía de Clases de un modo ordenado en el
cual por medio de ejemplos y conceptos se detallarán los aspectos más importantes
de la Jerarquía de Clases.
Al final de todos los conceptos y ejemplos se muestra una referencia
bibliográfica o webgrafía por así si se desea ampliar más las diferentes
características referentes a éste tema. Sin más que decir se agradece la buena
utilización de éste trabajo y espero sirva para cualquier persona que desea ampliar
sus conocimientos sobre la POO.

OOP- Jerarquía de Clases -3- Eric L González S


OOP- Jerarquía de Clases -4- Eric L González S
JERARQUÍA DE CLASES:

Según el Dictionary of OT la jerarquía es “cualquier clasificación u ordenación


de abstracciones en una estructura de árbol. Algunos tipos de Jerarquía son:
Jerarquía de agregación, jerarquía de clases, jerarquía de herencia, jerarquía de
partición, jerarquía de especialización, jerarquía de tipo.
Éste concepto es sumamente importante ya que con ello conocemos la
importancia de dividir los problemas en una jerarquía de ideas.
Los dos tipos importantes de jerarquía son: la de
generalización/especialización y la de todo/parte.
La jerarquía de generalización/especialización se basa en que las
propiedades de una categoría general se transmiten a todas las categorías que se
especializan o subcategorías. En la OO, la jerarquía de clases significa un conjunto
de clases relacionadas por la jerarquía de generalización/especialización.

A continuación se muestra un ejemplo en el que se describen tres figuras las


cuales poseen diferentes niveles de jerarquía:

Consideremos las figuras planas cerradas como el rectángulo, y el círculo.


Tales figuras comparten características comunes como es la posición de la figura,
de su centro, y el área de la figura, aunque el procedimiento para calcular dicha área
sea completamente distinto dependiendo del nivel de las clases.
Podemos por tanto, diseñar una jerarquía de clases, tal que la clase base
denominada Figura, tenga las características comunes y cada clase derivada las
específicas.

OOP- Jerarquía de Clases -5- Eric L González S


Como se muestra en el ejemplo cada figura tiene su nivel de jerarquía a
continuación se explicará más detalladamente cada nivel.

La clase Figura es la que contiene las características comunes a dichas


figuras concretas por tanto, no tiene forma ni tiene área. Esto lo expresamos
declarando Figura como una clase abstracta, declarando la función miembro area
abstract.

LAS CLASES ABSTRACTAS solamente se pueden usar como clases base


para otras clases. No se pueden crear objetos pertenecientes a una clase abstracta.
Sin embargo, se pueden declarar variables de dichas clases.

La característica de hacer una Clase/Método abstract reside en que no puede


ser generada una instancia de la misma, este comportamiento se demuestra en el
método principal (main).

Como se muestra en las figuras cada clase tiene diferentes niveles, por
decirlo así, de importancia de ahí se desprenden los términos de Superclase y
Subclases.

SUPERCLASE Y SUBCLASE

La clase “Padre” o Superclase se


llama de ese modo debido a que de la
FIGURA misma se desprenden otras clases
llamadas “Subclases” las cuales
heredarán sus atributos y operaciones,
una Superclase puede contener
cualquier número de Subclases.

La Clase Circulo es una de las


Subclases de la Superclase Figura,
ésta a su vez puede convertirse en
CIRCULO una Superclase si de ella se
desprenden otras clases. La misma
posee su nivel de importancia y a su
vez hereda los métodos y atributos de
la superclase.

OOP- Jerarquía de Clases -6- Eric L González S


2 Ejemplo

En éste segundo ejemplo podemos ver que al contrario del anterior del
anterior, que de una subclase pueden desprenderse otras subclases lo que
convierte a ésta Subclase en una Superclase:

o A es la superclase de B, C y D.
o D es la superclase de E.
o B, C y D son subclases de A.
o E es una subclase de D.

Una de las características que no se pueden apreciar en éstas figuras es que


cada Subclase obtiene “hereda”, características de su Clase Padre de aquí proviene
el término de herencia que detallaré a continuación.

HERENCIA

Es una propiedad esencial de la Programación Orientada a Objetos que


consiste en la creación de nuevas clases a partir de otras ya existentes éstas
nuevas clases obtienen propiedades de sus clases padres, las cuales propagan sus
atributos y operaciones a sus subclases.
Las Subclases admiten la definición de nuevos atributos, así como crear,
modificar o inhabilitar propiedades.

OOP- Jerarquía de Clases -7- Eric L González S


La herencia ofrece una ventaja importante, ya que permite la reutilización del
código.
Hay dos tipos de herencia las cuales son: Herencia Simple y Herencia
Múltiple. La primera indica que se pueden definir nuevas clases solamente a partir
de una clase inicial mientras que la segunda indica que se pueden definir nuevas
clases a partir de dos o más clases iniciales. Java sólo permite herencia simple.

En la herencia los constructores no son heredados.

El termino Herencia ha sido tomado prestado de la Biología donde por


ejemplo afirmamos que un niño tiene la cara de su padre, que ha heredado ciertas
facetas físicas o del comportamiento de sus progenitores. Entre otras palabras son
las diferentes características que comparten unas clases con las otras y así
sucesivamente como se nos explica en el ejemplo de un hijo con su padre.

Comentario:

Al realizar éste investigación me he encontrado con un gran problema y es


que al observar los ejemplos de las diferentes clases creadas por los diferentes
autores, muchas de ellas pueden producir discrepancias debido a que es muy difícil
la creación de clases y esto produce de que al crearlas se omiten por ejemplo
muchas características o tienden muchas veces a ser creadas dependiendo del
punto de vista del autor o entre otras palabras la forma como el ve las cosas de
nuestra realidad.

De ésta manera he recurrido a una investigación más profunda con el fin de


que no se escapen ninguno de éstos detalles y no imponer un punto de vista
personal con respecto a la creación de mis clases, para poder así de éste modo
evitar errores y que las clases que se vallan a crear sean 100% correctas. Sin antes
empezar me veré obligado a incluir ciertas informaciones las cuales se utilizarán
para una mejor comprensión pero claro está no son necesaria para que usted como
programador lleve a cabo la creación de sus clases. Dicha información puede ser

OOP- Jerarquía de Clases -8- Eric L González S


encontrada en cualquier libro de biologías y ésta será nuestra referencia para
realizar todos nuestros ejemplos.

Ejemplo de Jerarquía:

MAMÍFEROS

COYOTE PERRO

 Las Superclase definida con el nombre de Mamíferos


 Las Subclases se definen con los nombres: Coyote y Perro.

public class Mamifero


{
private String clase="Mammalia";
private String cientifname_clase="Animales Vertebrados";
private String reino="Animal";
private String taxonomia;

/*Taxonomia: Los mamíferos vivientes en la actualidad se pueden agrupar en dos sub clases
las cuales son: Prototheria y Theria.

// Ésta información o comentario no tiene nada que ver con a programación que se
lleve a cabo solo es para simular cuales serían las respuestas del investigador a la
hora de utilizar el software en éste caso seria Prototheria y Theria para asignarle
algún valor a la variable taxonomía.

public Mamifero (String dar_Taxonomia)

OOP- Jerarquía de Clases -9- Eric L González S


/* En ésta parte se simula por ejemplo que el investigador después de haber investigado
utiliza su software para indicar cual es la taxonomía de la especie por eso utiliza
el constructor para inicializar esta variable y asignarle ésta característica*/

taxonomia=_dar_Taxonomia;
}

// métodos get y set correspondientes


//…

} // Fin de la Clase

La clase Mamífero quedará definida de la siguiente manera:

MAMÍFERO
- clase
- cientifname_clase -
reino
- taxonomía

getclase (...)
getreino(...)
gettaxonomia(...)

class Coyote extends Mamifero

{
// Éstas serán las nuevas variables que tendrá ésta clase además de los atributos y métodos
heredadas de la clase Padre o Superclase.

private String cientific_name="Canis Latrans";


private String color;

public Coyote(String clase)

{
// El uso de la palabra “super” es importante ya que con ello es que le asignamos los
atributos y métodos de la clase padre.

super(clase);
}

OOP- Jerarquía de Clases - 10 - Eric L González S


public String getcientificname()

{
return(cientific_name);
}

// Nótese que no se ha creado ningún método con los nombres de los métodos de la
clase padre, más sin embargo éstos métodos de la clase padre podrán ser utilizados
por la clase hija llamada Coyote.//…

COYOTE
- clase
- cientifname_clase -
reino
- taxonomía
- nacimiento
- cientific_name
- color
getclase (...)
getreino(...)
gettaxonomia(...)
getcientificname(…)

 Como se puede ver la Subclase Coyote hereda los atributos y métodos de la


Superclase Mamíferos. además ella posee “nuevos atributos” y “métodos”
diferentes a los de la clase Padre.

POLIFORMISMO:

El polimorfismo es una nueva característica aportada por la OOP. Esta


propiedad indica la posibilidad de definir varias operaciones con el mismo nombre,
diferenciándolas únicamente en los parámetros de entrada.

Dependiendo del objeto que se introduzca como parámetro de entrada, se


elegirá automáticamente cual de las operaciones se va a realizar.

OOP- Jerarquía de Clases - 11 - Eric L González S


El polimorfismo como bien lo indica su nombre poli=”varias” morfismo=”forma”
indica varias formas en la cual las los clases y sus métodos se pueden transformar o
variar, para cambiar y adecuar su utilización como podrán ver más adelante en los
diferentes ejemplos en la cual por medio del polimorfismo se cambiara algunos
métodos de la clase hija.

Entre los tipos de polimorfismo tenemos:

a) Selección dinámica de Método

Se da cuando los métodos se seleccionan en función del tipo de instancia en


tiempo de ejecución, no a la clase en la cual se está ejecutando el método actual.

b) Sobrescritura de método

Ésta es una característica de la Jerarquía de herencias, en la cual se vuelva a


escribir el cuerpo de un método, para que el método tenga una funcionalidad
diferente dependiendo del nivel de abstracción en que nos encontremos.
Por ejemplo en una herencia entre la clase SerVivo y una clase hija Persona;
si la clase SerVivo tuviese un método alimentarse(), debería volver a escribirse en el
nivel de Persona¸ puesto que una persona no se alimenta ni como un Perro ni como
una Planta…

c) Sobrecarga del método

A veces se necesita crear más de un método con el mismo nombre, pero con
lista de parámetros distinta.
Los métodos son llamados basándose en el número y tipo de parámetros que
se les pase. A éste número de parámetros con tipo de secuencia específica se llama
signatura de tipo. Java utiliza ésta signatura de tipo para ver a cual método llamará.
Para distinguir entre dos métodos, no se consideran los nombres de los parámetros
formales sino sus tipos.

OOP- Jerarquía de Clases - 12 - Eric L González S


d) Limitación de la Sobreescritura: final

Todos los métodos y las variables de instancia se pueden sobreescribir por


defecto. Si se desea declarar que ya no se quiere permitir que las subclases
sobrescriban las variables o métodos, éstos se pueden declarar como final. De ésta
forma se crean las llamadas constantes.

Ejemplo:
final numero_libro = 1;

Las Referencias Polimórficas: this y super

this: El uso de la referencia this es para referirse a por ejemplo los atributos de la
misma clase.

super: Como su nombre lo describe ésta referencia se utiliza para tener acceso a la
SuperClase. Con super se puede acceder a los métodos o atributos de la super
clase.

EJEMPLO DE POLIMORFISMOS

En éste ejemplo aplicaremos algunos tipos de polimorfismo que se pueden


dar a la hora de realizar la jerarquía de clases utilizando segmentos de códigos que
pueden ser utilizados junto con las clases de los ejemplos anteriores.

A la clase Coyote agréguele una variable int de nombre patas y éste método:

Clase Mamífero

OOP- Jerarquía de Clases - 13 - Eric L González S


public int getpatas()
{
return(canti_patas);
}

Clase Coyote
public int getpatas(int ptas) Sobrecarga
{
patas=ptas; Sobrescritura
return(patas);
}

Nota: Éste es un ejemplo sencillo el la cual aplicamos polimorfismo debido a que la


clase getpatas de la clase Coyote se sobrescribe y se accede a ella utilizando otro
número y tipos de parámetros de ésta forma si queremos utilizar éste de la clase al
invocarlo debemos utilizar los parámetros de entrada, en éste caso uno entero de
nombre “patas”, aunque también se puede acceder mediante el objeto de la clase
Coyote al método getpatas heredado de la clase Mamífero pero tiene que saberse
que se pueden retornar valores diferentes a los almacenados en la clase padre,
debido a que éstos valores podrían cambiar en la clase coyote.

LA PALABRA RESERVADA FINAL:

Cuando utilizamos la palabra reservada final se puede evitar:

1. Que un método se pueda redefinir.

Por ejemplo:

public final int getpatas(int ptas)


{
patas=ptas;
return(patas);
}

Aunque se creen subclases de Coyote el método getpatas no se podrá redefinir


porque se especifico como final.

OOP- Jerarquía de Clases - 14 - Eric L González S


2. Que se crean subclases de la clase dada como final.

public final class tigrillo extendí felinos


public final class gatomontes extendí felinos

Al usar final, tanto la clase tigrillo como gatomontes son ahora clases de las
que no se puede crear subclases. En ocasiones una clase será final aunque no
tenga sentido crear subclases, o simplemente porque se desea que la clase no se
pueda extender.

OOP- Jerarquía de Clases - 15 - Eric L González S


EJEMPLO FINAL

A continuación se muestra un ejemplo en el cual se simulará un software el


cual es utilizado por un Científico, Investigador o Profesor de Biología el software se
encarga de administrar las diferentes características de los animales que el
investigador encuentre. Dicho software como se verá a continuación facilitará a la
persona a la hora de llevar a cabo la recolección de datos debido a que el mismo
utiliza la Jerarquía de Clases y le ayuda a organizar a la persona, los datos de una
manera más rápida.

Nota: Éste software es basado en los ejemplos anteriores, aunque el mismo posee
algunas modificaciones, es solo para ilustrar como debería estar un software que
contenga todas las características principales de la Jerarquía de Clases.

// SUPERCLASE MAMÍFERO: CONTENDRÁ MÉTODOS Y ATRIBUTOS QUE SE


HEREDARAN.

abstract class Mamifero


{

//Éstos son los atributos que serán heredados a las diferentes subclases.

private String clase="Mammalia";


private String cientifname_clase="Animales Vertebrados";
private String reino="Animal";
private String taxonomia="Theria";
private int canti_patas=4;

/*Nótese que hemos utilizado la abstracción en la superclase, el porque de


esto es que la clase Principal o superclase se utilizará como base para otras clases
y sus atributos serán heredados a las diferentes subclases.
Al hacer la clase abstracta se evita la creación del constructor de ésta clase,
las super clases son clases que serán tomadas como bases para otras clases pero
no es estrictamente necesaria su utilización, aunque se deberían definir como
abstractas para cumplir con la Jerarquía de Clases al igual que la palabra “final” la

OOP- Jerarquía de Clases - 16 - Eric L González S


cual indica que es la clase final, las clases abstractas entonces indican que dicha
clase es la clase superior o superclase.

public String getreino()


{
return(reino);
}

public String getclase()


{
return(clase);
}

public int getpatas()


{
return(canti_patas);
}

//Éstos son los métodos que serán heredados a las diferentes subclases
} //Fin de la clase Mamífero

//CLASE COYOTE: ES LA SUBCLASE QUE HEREDA LOS DIFERENTES


ATRIBUTOS

class Coyote extends Mamifero


{

//Éstos son los nuevos atributos de la clase Coyote además de los que se heredarán
más adelante.

private String cientific_name="Canis Latrans";


private String color;
private int patas;

public Coyote()
{
super();

//Con la palabra super hacemos referencia a la superclase Mamífero de ésta forma


se heredan todos sus atributos y métodos como se puede ver invocamos a la
superclase dentro del constructor de la clase Coyote para heredar directamente
todos sus atributos.

OOP- Jerarquía de Clases - 17 - Eric L González S


}

//Éstos son los nuevos métodos de la clase Coyote además de los que se heredarán
anteriormente.

//Note que se ha puesto la palabra final en los diferentes métodos con el fin de que
los mismos no se puedan sobreescribir esto es algo que debe incluir los programas
que utilicen jerarquía, es imprescindible para indicar por ejemplo que una clase no
poseerá subclases.

public final String getcientificname()


{
return(cientific_name);
}

//A continuación se muestra un ejemplo de Polimorfismo en el cual se sobrecarga y


sobrescribe al método getpatas.

public final int getpatas(int ptas)

//El método getpatas de la clase coyote se deberá acceder utilizando los diferentes
parámetros de entrada mediante un objeto de la clase Coyote, aunque con éste
objeto se puede acceder también al método de la SuperClase Mamífero llamado
getpatas el cual fue heredado.

{
patas=ptas;
return(patas);
}
} //Fin de la clase Coyote

//LA CLASE PRINCIPAL SE ENCARGARÁ DE HACER LOS LLAMADOS A LAS


DIFERENTES CLASES.

import javax.swing.*;
import java.text.*;

class Principal{

public static void main(String args[])

{
CapturaImprime capprint= new CapturaImprime();

OOP- Jerarquía de Clases - 18 - Eric L González S


//Como se puede apreciar es importante invocar ordenadamente las diferentes
clases debido a algunas de éstas heredaran sus atributos a otras clases y si se
hiciera en orden inverso se produciría un error debido a que las subclases
intentarían heredar métodos y atributos de clases que no existen o no han sido
invocadas anteriormente.

String mensaje="";
int ptas;

//Una vez invocada la superclase se invoca la clase Coyote para que herede los
diferentes atributos y métodos de la clase Padre.

Coyote animal= new Coyote();


/* */
mensaje="Cantidad de patas de un Coyote: ";
mensaje=capprint.lectura(mensaje);
ptas=Integer.parseInt(mensaje);

//Obsérvese que se pueden utilizar todos los métodos de la clase padre como si
fueran métodos de la clase Coyote debido a que los mismos se heredaron.

System.out.println(""+animal.getpatas());
System.out.println(""+animal.getpatas(ptas));

// Note la sobrecarga del método getpatas el cual se accede de diferentes maneras,


ambos métodos getpatas por supuesto pueden devolver valores diferentes ya que
aunque posean el mismo nombre puede que se haya sobrescrito el método
heredado.

System.out.println(""+animal.getclase());
System.out.println(""+animal.getreino());
System.out.println(""+animal.getcientificname());
System.exit(0);
//Fin del programa.

} //Fin de la clase Principal

OOP- Jerarquía de Clases - 19 - Eric L González S


DIAGRAMA UML

PRINCIPAL

String mensaje;
int ptas;

void main() Se utiliza para


hacer los llamados de las
diferentes clases.

MAMÍFEROS
- clase
- cientifname_clase - reino
- taxonomía
getclase (...) Devuelve el Nombre de la clases de los
mamíferos
getreino(...)Devuelve el Reino al que pertenecen los
mamíferos
getpatas(...)Devuelve la Cantidad de Patas de un
Mamífero.
//Otros métodos si se desea….

COYOTE
- clase
- cientifname_clase - reino NOTA: He utilizado éste
- nacimiento ejemplo sencillo con el fin de
- cientific_name hacer más fácil la comprensión
- color de éste tema, sin profundizar
getclase (...) Devuelve el Nombre de la clases tanto en la ejecución de códigos
de los mamíferos dentro de métodos puesto a que
no importan la cantidad de
getreino(...)Devuelve el Reino al que códigos que los mismos tengan
pertenecen los mamíferos
no afecta a la hora de describir
getpatas(...)Devuelve la Cantidad de Patas de si se utiliza correctamente los
un Mamífero. conceptos de Jerarquía.
getpatas(int patas) Método sobrescrito.
//Otros métodos si se desea….

OOP- Jerarquía de Clases - 20 - Eric L González S


CONCLUSIÓN

Al realzar éste trabajo, después de haber investigado, analizado y discernido mis


diferentes hipótesis e interrogantes referente a la Jerarquía de Clases puede
concluir lo siguiente:

 La Jerarquía de es algo de suma importancia para la POO debido a que la


misma asemeja mucho más a la realidad las clases que se crean.

 Es algo que facilita al programador y reduce el tiempo como por ejemplo la


reutilización de código la cual ahorra tiempo al programar.

 Es indispensable la buena utilización de la Jerarquía de Clases ya que ayuda


a hace el código mucho más fácil y manejable a la hora de dar mantenimiento
debido a que se puede identificar más fácilmente las diferentes clases, y su
nivel de Jerarquía.

 Al crear una clase se debe tener presente las diferentes características que
debe poseer la misma y cuales son los diferentes atributos y métodos que se
van a crear puesto que la POO es una programación que pretende reducir al
mínimo el nivel de dificultad de los códigos.

 Éste trabajo ha sido de gran ayuda e importancia se agradece al profesor la


ayuda brindada y espero sirva también a otra persona interesada en aprender
éste tema.

OOP- Jerarquía de Clases - 21 - Eric L González S


REFERENCIA BIBLIOGRÁFICA

1- Garcia , A; Enero de 2000. Curso de Lenguaje Java. [web en línea]


Disponible desde Internet en:
<http://www.sc.ehu.es/sbweb/fisica/curso.htm>[con acceso el 07/11/2006].

Comentario:

Ésta es una buena dirección para aquellas personas interesadas en aprender


sobre la programación orientada a objetos en Java, aquí se van tratando los
diferentes conceptos de la POO y como se utilizan adecuadamente, se detallan
conceptos fundamentales que son explicados paso a paso mediante ejemplos y
también la forma en que se debe utilizar la POO.
Principalmente ésta pagina se vuelca a la utilización de ejemplos más que de
los conceptos y esto pienso que es algo que le hace falta a la página la utilización
de más conceptos, aunque se encuentran fácilmente varios ejemplos que sirven
para entender que es la Jerarquía, Herencia, Clases abstractas, Super Clase, entre
otras características, aunque no así a mi parecer sobre Polimorfismo.

2- Román Zamitiz, C. A. Fecha desconocida. Temas Especiales de


Computación. Facultad de Ingeniería UNAM. [web en línea]. Disponible
desde Internet en: <http://www.fi-
b.unam.mx/pp/profesores/carlos/toc.html>. [con acceso el 07/11/2006].

Comentario:

Ésta es otra excelente página en la que encontrará aspectos muy importantes


de la POO y sus características, al ingresar a ésta pagina podrá encontrar
fácilmente la información que necesite para poder así aprender de una manera más
fácil y sencilla.

Se muestra mediante un índice en el cual se la persona se puede desplazar


fácilmente a través de las diferentes informaciones que la misma posee, ésta es una
página imprescindible para aquellas personas que estén interesadas en conocer los
diferentes términos de la POO no así de ejemplos en algún lenguaje de
programación determinado, pero creo que fortalece ese aspecto ya que aquí
podremos encontrar muchos otros aspectos de la POO como Herencia,
Polimorfismo, Super Clases entre otras, como también Análisis y diseño a Orientado

OOP- Jerarquía de Clases - 22 - Eric L González S


a Objeto con UML que nos sirven para comprender mejor la creación y
Jerarquización de clases.

3- Manzanedo del Campo, M A; Garcia Peñalvo, F. J. y otros. septiembre de


1999; actualizado en octubre de 1999. Guía de Iniciación al Lenguaje Java.
Versión 2.0. Subvencionado por Junta de Castila y León. [web en línea].
Disponible desde Internet en: <
http://pisuerga.inf.ubu.es/lsi/Invest/Java/Tuto/Index.htm> También
disponible en formato pdf en
<http://pisuerga.inf.ubu.es/lsi/Invest/Java/Tuto/java20.pdf>.[con acceso el
07/11/2006].

Comentario:

Esta es una excelente página cortesía de la Universidad de Burgos en la cual


diferentes profesores y alumnos se han unido con el fin brindar un excelente
producto para aquellas personas que desean iniciarse en la Programación OO
utilizando Java, el contenido de la página está excelentemente agrupado y
organizado con el fin de que la persona comprenda paso a paso los diferentes
aspectos de la POO, los autores utilizan tanto conceptos como ejemplos los cuales
explican mucho más detalladamente los diferentes temas ha tratar. En cuanto a la
Jerarquía de Clases éste punto esta muy bien explicado y detallado por medio de
conceptos y ejemplos con los cuales fácilmente se pueden entender aspectos como:
importancia, ventajas, limitaciones y muchas más cosas referente a éste aspecto de
la POO que es la Jerarquía de clases.

De ésta página he extraído muchos códigos que me han servido de ejemplos


para la utilización y creación adecuada de mis clases, ya que los mismos están
creados fácilmente con el fin de que la persona pueda comprender rápidamente
como debe aplicar los diferentes conceptos.

4- Berzal Galiano, F. Fecha desconocida. Apuntes de Programación Orientada


a Objetos en Java: Fundamentos de programación y Principios de diseño.
[documento en línea]. Disponible desde Internet en:
<http://elvex.ugr.es/decsai/java/>. [con acceso el 07/11/2006].

OOP- Jerarquía de Clases - 23 - Eric L González S


Comentario:

Para mi concepto ésta es una de las mejores páginas que se pueden


encontrar en el Internet si desea ver ejemplos y conceptos que son fácilmente
entendibles, ya que el autor utiliza diagramas UML y códigos realizados en la cual
aplica los diferentes conceptos de la Jerarquía de clases y no solo eso describe
algunos conceptos con un tipo de lenguaje que no necesitará leerlos dos veces para
poder entender, pienso que éste es un trabajo que merece reconocimiento, en la
página no solo aprenderá sino que se citan muchas otras referencias para apoyar
los conocimientos que se adquieren.

La desventaja de ésta pagina es que no permite navegabilidad sino más bien


utiliza la descarga de muchos documentos en los que se explican cada uno de los
puntos que se tratan, no puedo decir también que en ésta página se tratan todos los
aspectos de la Jerarquía de Clases pero pude ver excelente la forma como se
explican los conceptos de Herencia, y clases abstractas y son muy buenos los
ejemplos, espero que a usted también le gusten y le sirvan ya que vera interesante
muchos de los documentos que el autor puso a disposición en ésta página.

5- Osmosis Latina; 2000- 2006. Curso de Java Básico. [web en línea].


Disponible desde Internet en: <http://javabasico.osmosislatina.com/>. [con
acceso el 07/11/2006].

Comentario:

En ésta página encontrará un curso en el cual se explican por encima


algunos conceptos de la Jerarquía de Clase en Java, no es una dirección en la cual
encontrará detalladamente todas las características de la Jerarquía de clase pero
puede ser de utilidad, la recomiendo para aquellas personas que quieran aprender
sobre algunos conceptos como la herencia de clases, polimorfismo, super clase,
clase abstractas y demás, pero como dije anteriormente no se profundiza mucho.

Osmosis Latina la recomiendo ya que es una página actual y como usted


podrá comprobar en ella encontrará los mismos conceptos que en cualquier página
que no sea actual, la misma posee una buena forma de navegación y esta muy bien
redactada.

OOP- Jerarquía de Clases - 24 - Eric L González S


6- Rodríguez Herrera, D. Fecha desconocida. Tutorial de Introducción a
Java. [publicación en línea]. Disponible desde Internet en: <
http://www.programacion.com/java/tutorial/intjava/>. [con acceso el
07/11/2006].

Comentario:

Ésta es una excelente página para todo programador, seguramente usted


también habrá ingresado alguna vez en ella, en está página se explica claramente
mediante conceptos y ejemplos muy bien redactados los cuales facilitan mucho el
entendimiento acerca de la Jerarquía de clases, muestra un índice en el cual podrá
acceder fácilmente a aspectos como la Herencia, polimorfismos, entre otras
características, es una muy buena página que posee información actualizada,
también en contraposición con otras páginas cuenta con comentarios, se puede
votar por la información que se tiene para futuras mejoras y esto es algo a favor ya
que la mayoría de las páginas que he visto no presentan ésta característica o no se
puede acceder fácilmente a ella.

7- Froufre, A. 29 de agosto de 2005. Tutorial de Java. [web en línea].


Disponible desde Internet en:
<http://www.wikilearning.com/comenzando_a_programar_en_java-wkc
6972.htm>. [con acceso el 07/11/2006].

Comentario:

Ésta es una muy completa e interesante página con la cual podrás aprender
muchos conceptos que están involucrados con la jerarquía de clases como los son:
la herencia, clases abstractas, this, super entre otros éstos dos últimos son muy
utilizados y pocas páginas a las que he buscado hacen referencia a ellos, el autor
utiliza una buena metodología para elaborar su página e incorpora muchos ejemplos
que son de mucha utilidad a la hora de programar y llevar a cabo los diversos
conceptos que se estudian. Recomiendo ésta pagina para cualquier persona que
desea ver ejemplos debido a que son muy útiles para llevar poder desarrollar más
fácilmente los diferentes programas utilizando la jerarquía de clases.

OOP- Jerarquía de Clases - 25 - Eric L González S


8- Froufe, A. 1996; actualizado el 1 de Enero de 1997. Tutorial de Java. [web
en línea]. Disponible desde Internet vía FTP anónimo en: <
http://www.cica.es/formacion/JavaTut/index.html> Puede acceder a la
página web del programa en:
<http://www.cica.es/formacion/JavaTut/Intro/tabla.html>.[con acceso el
07/11/2006].

Comentario:

En ésta página se encuentran por medio de resumen y ejemplos diferentes


aspectos de la POO en java, en la cual se ve reflejado el esfuerzo del autor para
que la misma presente buenas características. Éste sitio muestra los diferentes
aspectos que se desean aprender de una forma muy clara y utilizando un lenguaje
sencillo lo cual es algo que está muy a favor podrá ver ejemplos los cuales no se
necesitan mucho tiempo para poder comprenderlos. Algo que ésta en contra de
ésta y la mayoría de las diferentes páginas visitadas es que no organizan la
información adecuadamente por ejemplo el tema de la Jerarquía de Clases, los
diferentes aspectos como herencia, polimorfismo se muestra como otra
característica más del lenguaje y no como una parte de la etapa de Jerarquía de
clases de modo que alguno de los términos que la misma implica se pierden o no se
describen detalladamente.

Pero fuera de eso en comparación con las demás página ésta es una buena
página que podría ser de mucha utilidad.

9- Edison Lascano.14 de octubre de 1996; actualizado el 2 de mayo de


2006. Programación Orientada a Objeto. Escuela Politécnica del Ejército.
[documento en línea]. Disponible desde Internet en: <
http://fisi.espe.edu.ec/~elascano/pooii/>. [con acceso el 07/11/2006].

Comentario:

No es la dirección más atractiva que se puede encontrar en Internet con


ejemplo y diagramas uml…pero la información ésta muy bien distribuida y es muy
clara, muestra mediante resúmenes todos los aspectos referentes a la Jerarquía de
clase como lo son: Herencia, Polimorfismo, Super Clase, Clase Abstractas, Sobre
Carga cosa que muchas páginas no lo hacen, los autores fueron muy cuidadosos en
no dejar por fuera cada una de éstas características y describen de una muy buena
manera mediante ejemplos.

OOP- Jerarquía de Clases - 26 - Eric L González S


Vale la pena revisarla y practicar los diferentes ejemplos que en la misma se
describen, también la información está bien distribuida y no es al azar creo eso es el
producto y la unión de profesionales que intentan brindar un buen trabajo y vale la
pena la atención y buen uso del mismo. Sin más que decir espero usted también
acceda a éste sitio que le será de gran ayuda y agradezco a profesionales como
éstos que se preocupan por brindar un buen trabajo.

10- Acosta Corona J; Núñez Geraldo J. L & Sández Bareño S. Y. 20 de junio


de 2001. Paradigma de la orientación a objetos: Lenguaje Java. La Paz,
Baja California Sur. [web en línea]. Disponible desde Internet en:
http://www.itlp.edu.mx/posgrado/lengprog/java.html. [con acceso el
07/11/2006].

Comentario:

En ésta página se puede encontrar buena Información acerca de la POO y la


Jerarquía de Clases en la que se describen algunos términos como herencia,
polimorfismo, entre otras características de la jerarquía de clases.
A mi concepto es una página un poco débil en cuanto a contenido ya que la
información que posee misma no es muy abarcadora y no la dan mucha importancia
a los diferentes conceptos dejando así pasar por alto muchas de las características
de la herencia. Pero pienso que éste trabajo puede ser útil a la hora de reforzar los
conceptos y poder así aplicarlos correctamente y ejecutar una buena programación.

11- chemi. chemi@javahispano.org. 18 de noviembre de 2004. Paradigmas


de la Orientación a Objetos. [documento en línea]. Disponible desde
Internet en:
<http://www.javahispano.org/cursotext.viewer.action?file=introd>
.[con acceso el 07/11/2006].

Comentario:

En ésta página se puede encontrar diferentes documentos los cuales nos


hablan acerca de la POO , conceptos y demás en la cual se encuentra un
interesante documento acerca de los Paradigmas de la Orientación a Objetos en la
cual hablan sobre la herencia el polimorfismo y se muestran interesantes ejemplos

OOP- Jerarquía de Clases - 27 - Eric L González S


en UML’s muy atractivos en donde explican los diferentes conceptos, éstos
documentos están muy bien elaborados y son interesantes incluso para
coleccionarlos y tener así una excelente información.

OOP- Jerarquía de Clases - 28 - Eric L González S

Das könnte Ihnen auch gefallen