37
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 OOP- Jerarquía de Clases - 1 - Eric L González S

Jerarquia de Clases

Embed Size (px)

DESCRIPTION

Jerarquia de Clases

Citation preview

Page 1: Jerarquia de Clases

UNIVERSIDAD DE PANAMÁCENTRO REGIONAL UNIVERSITARIO DE VERAGUAS

FACULTAD DE INFORMÁTICA ELECTRÓNICA Y COMUNICACIONESLICENCIATURA 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

Page 2: Jerarquia de Clases

ÍNDICE

Pág.

INTRODUCCIÓN....................................................................................................................3

JERARQUÍA DE CLASES:....................................................................................................4

JERARQUÍA DE CLASES:....................................................................................................5

LAS CLASES ABSTRACTAS................................................................................................6

SUPERCLASE Y SUBCLASE...............................................................................................6

HERENCIA..............................................................................................................................7

POLIFORMISMO:................................................................................................................11

LA PALABRA RESERVADA FINAL:...............................................................................14

EJEMPLO FINAL.................................................................................................................16

DIAGRAMA UML.................................................................................................................20

CONCLUSIÓN.......................................................................................................................21

REFERENCIA BIBLIOGRÁFICA.....................................................................................22

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

Page 3: Jerarquia de Clases

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

Page 4: Jerarquia de Clases

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

Page 5: Jerarquia de Clases

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

Page 6: Jerarquia de Clases

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

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

FIGURA

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

CIRCULO

La Clase Circulo es una de las Subclases de la Superclase Figura, ésta a su vez puede convertirse en 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.

Page 7: Jerarquia de Clases

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

Page 8: Jerarquia de Clases

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

Page 9: Jerarquia de Clases

encontrada en cualquier libro de biologías y ésta será nuestra referencia para

realizar todos nuestros ejemplos.

Ejemplo de Jerarquía:

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

MAMÍFEROS

COYOTE PERRO

Page 10: Jerarquia de Clases

/* 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:

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

- clase- cientifname_clase- reino- taxonomía

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

MAMÍFERO

Page 11: Jerarquia de Clases

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.//…

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

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

COYOTE

Page 12: Jerarquia de Clases

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

Page 13: Jerarquia de Clases

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

Page 14: Jerarquia de Clases

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

Clase Coyotepublic int getpatas(int ptas) Sobrecarga {

patas=ptas; Sobrescriturareturn(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

Page 15: Jerarquia de Clases

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

Page 16: Jerarquia de Clases

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

Page 17: Jerarquia de Clases

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

Page 18: Jerarquia de Clases

}

//É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

Page 19: Jerarquia de Clases

//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

Page 20: Jerarquia de Clases

- clase- cientifname_clase- reino- nacimiento- cientific_name- colorgetclase (...) Devuelve el Nombre de la clases

de los mamíferosgetreino(...)Devuelve el Reino al que

pertenecen los mamíferosgetpatas(...)Devuelve la Cantidad de Patas de un Mamífero.getpatas(int patas) Método sobrescrito.

//Otros métodos si se desea….

COYOTE

DIAGRAMA UML

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

- clase- cientifname_clase- reino- taxonomíagetclase (...) Devuelve el Nombre de la clases de los mamíferosgetreino(...)Devuelve el Reino al que pertenecen los mamíferosgetpatas(...)Devuelve la Cantidad de Patas de un Mamífero.//Otros métodos si se desea….

MAMÍFEROS

String mensaje;int ptas;

void main() Se utiliza para hacer los llamados de las diferentes clases.

PRINCIPAL

NOTA: He utilizado éste ejemplo sencillo con el fin de hacer más fácil la comprensión de éste tema, sin profundizar tanto en la ejecución de códigos dentro de métodos puesto a que no importan la cantidad de códigos que los mismos tengan no afecta a la hora de describir si se utiliza correctamente los conceptos de Jerarquía.

Page 21: Jerarquia de Clases

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

Page 22: Jerarquia de Clases

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,

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

Page 23: Jerarquia de Clases

Polimorfismo, Super Clases entre otras, como también Análisis y diseño a Orientado 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

Page 24: Jerarquia de Clases

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

Page 25: Jerarquia de Clases

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

Page 26: Jerarquia de Clases

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

Page 27: Jerarquia de Clases

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. [email protected]. 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

Page 28: Jerarquia de Clases

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