Professional Documents
Culture Documents
Jerarquía y Herencia
Enocjahaziel Carrasco_______________________________________________________
Universidad de Panamá
Centro Regional Universitario de Veraguas
Trabajo de programación IV
Tema
“Proyecto # 3”
“Jerarquía y Herencia”
Profesor:
Diego Santimateo G.
Integrante:
Fecha:
10 de diciembre
1
Proyecto # 3
Jerarquía y Herencia
Enocjahaziel Carrasco_______________________________________________________
Índice
Introducción…………………………………………….……….……...3
Estructura de desarrollo………….……………………………….…. 4
Procedimiento….……………….…….…………………….…….…...5
Fuentes de información…………………….………………………...6
Glosario de términos…………………………..……………………..12
Ejemplificación de conceptos...…………………………………..….15
Aplicación Ejecutable……………………………………….………..19
Código fuente………….………………………………………………21
Diagrama UML…………………………………………………………26
Reflexiones ……………………………..……………………………..31
2
Proyecto # 3
Jerarquía y Herencia
Enocjahaziel Carrasco_______________________________________________________
INTRODUCCIÓN.
Salustio
3
Proyecto # 3
Jerarquía y Herencia
Enocjahaziel Carrasco_______________________________________________________
Estructura de Desarrollo
Esto fue algo difícil para mí por que no había tenido antes que hacer
una Web grafía sobre una pagina de Internet analizada.
4
Proyecto # 3
Jerarquía y Herencia
Enocjahaziel Carrasco_______________________________________________________
5
Proyecto # 3
Jerarquía y Herencia
Enocjahaziel Carrasco_______________________________________________________
Procedimiento
6
Proyecto # 3
Jerarquía y Herencia
Enocjahaziel Carrasco_______________________________________________________
7
Proyecto # 3
Jerarquía y Herencia
Enocjahaziel Carrasco_______________________________________________________
JERARQUÍA
---------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------
8
Proyecto # 3
Jerarquía y Herencia
Enocjahaziel Carrasco_______________________________________________________
**********************************************************************
INTERFACES
------------------------------------------------------------------------------------------------------------
*************************************************************************
HERENCIA
--------------------------------------------------------------------------------------------------------
http://es.wikipedia.org/wiki/Herencia_(programaci%C3%B3n_orie
ntada_a_objetos)
----------------------------------------------------------------------------------------------------------
9
Proyecto # 3
Jerarquía y Herencia
Enocjahaziel Carrasco_______________________________________________________
También cuenta con códigos fáciles de interpretar, en este código se
declaran las clases mamíferos, gato y perro, haciendo que gato y perro
sean unos mamíferos (derivados de esta clase), y se ve como a través
de ellos se nombra al animal pero así también se accede a patas
dándole el valor por defecto para esa especie. Es ultima parte nos define
acerca de los tipos de herencia que existen como herencia simple y
herencia múltiple.
-------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------
************************************************************************************
POLIMORFISMO
----------------------------------------------------------------------
10
Proyecto # 3
Jerarquía y Herencia
Enocjahaziel Carrasco_______________________________________________________
**********************************************************************
CLASE ABSTRACTA
----------------------------------------------------------------------------------------------------------
Zator Systems. Tecnología de la información para el
conocimiento.
A. J. Millán ajm@zator.com
Versión 1.108.5 Última actualización:14-08-2008. Curso
c++. 4.11.8c Clases abstractas
SOBRECARGA
--------------------------------------------------------------------------------------------------------------
Toni Pizà 2005. Diario de un aprendiz. Ultima actualización:
mayo 2005. Palestina
< http://aprendiendojava.blogspot.com/2005/05/sobrecarga-de-
mtodos-y-de.html> accesado [19-11-2008]
------------------------------------------------------------------------------------------------------------------------------------------------------------------
11
Proyecto # 3
Jerarquía y Herencia
Enocjahaziel Carrasco_______________________________________________________
su edad y el nombre de la empresa como variables. En otro lado nos
presenta la cara de la sobrecarga de métodos y lo explica con un
ejemplo que utiliza para sumar dos (2) numero cualesquiera pero
teniendo en cuenta si son entero o con decimales.
---------------------------------------------------------------------------------------------------------------------------------------------------------------
SUPER CLASE
----------------------------------------------------------------------------------------------------------
miliuco. Sitio expuesto desde hace: 6 años y 10 días
Ultima modificación: 1 de noviembre de 2008
http://www.miliuco.net/java/super.htm con acceso el
20/11/2008
----------------------------------------------------------------------
**********************************************************************
12
Proyecto # 3
Jerarquía y Herencia
Enocjahaziel Carrasco_______________________________________________________
13
Proyecto # 3
Jerarquía y Herencia
Enocjahaziel Carrasco_______________________________________________________
14
Proyecto # 3
Jerarquía y Herencia
Enocjahaziel Carrasco_______________________________________________________
GLOSARIO:
15
Proyecto # 3
Jerarquía y Herencia
Enocjahaziel Carrasco_______________________________________________________
utilizar los ítems heredados de su superclase tal y como son, o
puede modificarlos o sobrescribirlos.
12. Super: La palabra reservada super sirve para indicar que una
variable o un método es de la superclase y que en ese momento
estamos accediendo a él.
16
Proyecto # 3
Jerarquía y Herencia
Enocjahaziel Carrasco_______________________________________________________
Ejemplificación de concepto
class Calculadora {
int suma(int x, int y) {
return (x + y);
}
class Servo {
public static void main(String[] args) {
int operacion1;
float operacion2;
17
Proyecto # 3
Jerarquía y Herencia
Enocjahaziel Carrasco_______________________________________________________
Codigo de interface.
public interface MiInterfaz extends InterfazA,InterfazB {
public final double PI = 3.14159;
public final int entero = 125;
void put( int dato );
int get();
}
18
Proyecto # 3
Jerarquía y Herencia
Enocjahaziel Carrasco_______________________________________________________
En la figura se especifica que Auto y Camión heredan de Vehículo, es
decir, Auto posee las Características de Vehículo (Precio, VelMax, etc)
además posee algo particular que es Descapotable, en cambio Camión
también hereda las características de Vehiculo (Precio, VelMax, etc) pero
posee como particularidad propia Acoplado, Tara y Carga.
*************************************************************************
*************************************************************************
JERARQUIA
En el ejemplo podemos ver como
Padre la SuperClase E hijas se convierte en la subclase
Class Padre
SuperClase
SubClase o
clase hija
Class Hijas
import java.lang.String.*;
import javax.swing.*; De esta clase se crea
otra clase que reúne las
class Padre{
private int cant; // variables de instancias
características de Padre
private double numero; y además añade otra
private int notas[]; característica que la
private String datos;
public Padre (){ identifica
}
public Padre (int nts[]){
Captura_despliega obj = new Captura_despliega();
this.cant = nts.length;
this.notas= new int [cant];
for (int i=0;i<nts.length;i++)
//proceso para asignar cada nota al objeto nuevo.
{
notas[i] = nts[i];
System.out.println("\nNota :"+notas[i]);
}
}
/*--------------------------------------------*/
public double calcula_promedio(){ // método utilizado para calcular el promedio
int sum = this.notas[0];
for (int i=1;i<this.cant;i++)
19
Proyecto # 3
Jerarquía y Herencia
Enocjahaziel Carrasco_______________________________________________________
{
sum = sum + notas[i];
}
this.numero = this.cant * 100;
double ss= sum;
double prom = ((ss/numero)*100);
return(prom);
}
}
/*------------------------------------------*/
20
Proyecto # 3
Jerarquía y Herencia
Enocjahaziel Carrasco_______________________________________________________
21
Proyecto # 3
Jerarquía y Herencia
Enocjahaziel Carrasco_______________________________________________________
APLICACIÓN EJECUTABLE.
22
Proyecto # 3
Jerarquía y Herencia
Enocjahaziel Carrasco_______________________________________________________
CÓDIGO FUENTE
class NotaLiteral{
public static void main(String[] args) {
Captura_despliega obj = new Captura_despliega( )
;//crea un ob jet o de tipo Captur a_d espli ega
int[] not = obj.Cant_notas( );
// in voca al mé tod o Cant _nota s e l cual capt ur a la can tidad de notas y las notas del
es tudian te
hijas est= new hijas(not);// obj et os d e ti po hi ja s
double por = est.calcula_promedio( );
// In voca al m ét odo qu e so brecar ga al de la clas e Padre
String datos = est.literal( );
// In voca el mé todo ‘l it er al ( )' qu e s e e ncue ntr a en capsulad o en Captur a despli ega
obj.despliega(por,datos); // in voca al m ét od o encap sulad o e n
Capt ur a_despli ega
}
}
--------------------------------------------------------------------------------------------------------------
Class Captura_Despliega
import javax.swing.*;
import java.io.*;
class Captura_despliega {
public Captura_despliega(){ //Co ns tr uct or
}
23
Proyecto # 3
Jerarquía y Herencia
Enocjahaziel Carrasco_______________________________________________________
String k = JOptionPane.showInputDialog("Introduzca la cantidad de
notas");
int s= Integer.parseInt(k);
int [] not=new int[s];//Cr ea vec tor
--------------------------------------------------------------------------------------------------------------
Class Padre
import java.lang.String.*;
import javax.swing.*;
class Padre{
private int cant; // vari abl es d e i ns tanc ia s
private double numero;
private int notas[];
private String datos;
public Padre (){
}
public Padre (int nts[]){
Captura_despliega obj = new Captura_despliega();
this.cant = nts.length; // a si gn a ca nt id ad de not as a l a vari ab le
can t
this.notas= new int [cant];
for (int i=0;i<nts.length;i++)
24
Proyecto # 3
Jerarquía y Herencia
Enocjahaziel Carrasco_______________________________________________________
//proce so pa ra as ig na r cada not a al ob jeto nu evo.
{
notas[i] = nts[i]; //a si gn a la s not as a l vect or d e
not as
System.out.println("\nNota :"+notas[i]);
}
}
/*--------------------------------------------*/
public double calcula_promedio(){ // mé tod o u ti liz ado pa ra cal cul ar e l
prome di o
int sum = this.notas[0];
for (int i=1;i<this.cant;i++)
{
sum = sum + notas[i];
}
this.numero = this.cant * 100;
double ss= sum;
double prom = ((ss/numero)*100);
return(prom);
}
} fin de la Superclase Padre
/*------------------------------------------*/
/*Clase Hija que hereda métodos de la Superclase Padre*/
25
Proyecto # 3
Jerarquía y Herencia
Enocjahaziel Carrasco_______________________________________________________
Clase
NOTA LITERAL main
SuperClase o
clase Padre Clase
auxiliar
CAPTURA
CLASE PADRE
DESPLIEGA
Subclase o
clase hija
SUBCLASE HIJAS
26
Proyecto # 3
Jerarquía y Herencia
Enocjahaziel Carrasco_______________________________________________________
27
Proyecto # 3
Jerarquía y Herencia
Enocjahaziel Carrasco_______________________________________________________
específica, utilizando los
mismos nombres de métodos.
En este caso el polimorfismo
se presenta con el método
Calcular_promedio el cual lo
utiliza la Clase Padre y la
subclase hijas
.
Encapsulacion Captura En esta clase se presenta
despliega la encapsulacion ya que
todas las características,
comportamientos, variables
y métodos están en una
sola entidad.
Class NotaLiteral
MAIN
Class
Class Padre Captura_despliega
Double calcula_promedio();
int [] Cant_notas();
void despliega(double
por,String datos);
void error();
Class Hija extends
Padre
Double calcula_promedio();
String Literal();
28
Proyecto # 3
Jerarquía y Herencia
Enocjahaziel Carrasco_______________________________________________________
29
Proyecto # 3
Jerarquía y Herencia
Enocjahaziel Carrasco_______________________________________________________
30
Proyecto # 3
Jerarquía y Herencia
Enocjahaziel Carrasco_______________________________________________________
Primera Prueba de Ejecución del Programa
Cantidad de
notas que el
usuario desea
introducir
Primera Segunda
nota nota
introducida introducida
Prueba de ejecuci
donde muestra las notas
introducidas, porcentaje
de calificaci y la nota
literal.
Cantidad de
notas que el
usuario desea
introducir
Primera nota Nota introducida,
introducida la cual excede la
nota m 痊 ima
Mensaje de error
por haber
introducido una
31 nota con un valor
incorrecto
Proyecto # 3
Jerarquía y Herencia
Enocjahaziel Carrasco_______________________________________________________
Muestra las
notas, porcentajes
y la nota literal
32
Proyecto # 3
Jerarquía y Herencia
Enocjahaziel Carrasco_______________________________________________________
Reflexiones individuales.
¿Cuál fue la parte más difícil y por qué?
33