Beruflich Dokumente
Kultur Dokumente
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
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
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
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.
HERENCIA
Comentario:
Ejemplo de Jerarquía:
MAMÍFEROS
COYOTE PERRO
/*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.
taxonomia=_dar_Taxonomia;
}
} // Fin de la Clase
MAMÍFERO
- clase
- cientifname_clase -
reino
- taxonomía
getclase (...)
getreino(...)
gettaxonomia(...)
{
// É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.
{
// 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);
}
{
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(…)
POLIFORMISMO:
b) Sobrescritura de 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.
Ejemplo:
final numero_libro = 1;
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
A la clase Coyote agréguele una variable int de nombre patas y éste método:
Clase Mamífero
Clase Coyote
public int getpatas(int ptas) Sobrecarga
{
patas=ptas; Sobrescritura
return(patas);
}
Por ejemplo:
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.
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.
//Éstos son los atributos que serán heredados a las diferentes subclases.
//Éstos son los métodos que serán heredados a las diferentes subclases
} //Fin de la clase Mamífero
//Éstos son los nuevos atributos de la clase Coyote además de los que se heredarán
más adelante.
public Coyote()
{
super();
//É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.
//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
import javax.swing.*;
import java.text.*;
class Principal{
{
CapturaImprime capprint= new CapturaImprime();
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.
//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));
System.out.println(""+animal.getclase());
System.out.println(""+animal.getreino());
System.out.println(""+animal.getcientificname());
System.exit(0);
//Fin del programa.
PRINCIPAL
String mensaje;
int ptas;
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….
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.
Comentario:
Comentario:
Comentario:
Comentario:
Comentario:
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.
Comentario:
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.
Comentario:
Comentario:
Comentario: