Herencia y Jerarquía
Universidad De Panamá Centro Regional Universitario De Veraguas Licenciatura En Informática Para La Gestión Educativa Y Empresarial
Proyecto #3 Jerarquía y Herencia
PROGRAMACIÓN
IV
Profesor Diego Santimateo
Elaborado Por :
Sánchez Azurim 9-721-1231 Concepción Jairo 9-724-1589
Fecha de Entrega 12-11-2007
Índice
Sanchez, Concepción
-1-
Herencia y Jerarquía
Introducción.....................................................3 Primera Fase...................................................4-9 Segunda Fase.................................................10-11 Ejemplificación..............................................12-18 Aplicación Ejecutable........................................19-25 Diagrama UML....................................................26 Captura de Pantalla..........................................27-30 Experiencias.................................................31-32
Sanchez, Concepción
-2-
Herencia y Jerarquía
IN TRO DUC CIÓ N
En este trabajo se va
a conocer, a desarrollar
y
poner en
practica la Jerarquía y la Herencia los cuales juegan un papel muy importante en la programación OO. El trabajo comprende diferentes fuentes de información
las cuales hemos visitado para la clara
comprensión de los conceptos implicados, cabe mencionar
que en
este trabajo se presentan ejemplos de cada concepto involucrado como también una aplicación apoyada en una propuesta UML.
Sanchez, Concepción
-3-
Herencia y Jerarquía
Desarrollo de la Primera Fase Objetivo
Analizar los conceptos involucrados con la Jerarquía
en
Java. Fuentes de Información 1. Chemi. Actualizado el
18-ene-2005. JavaHispano 2005-2007.[En línea]. Disponible en la siguiente dirección: . [Se consulto el 06-11-2007] Co men tar io: La fuente de información arriba indicada, proporciona información acerca de los elementos de Java, como también presenta una serie de tutóriales que empiezan de lo más básico a lo complejo, se pueden descargar de forma gratuita. En estos obtuve datos sobre la herencia, jerarquía de clases, además conceptos de super, this, sobrecarga, todos con sus respectivos ejemplos(muchos ejemplos) . Los que me ayudaron en esta nueva tarea. También me encontré el tutorial de Miguel Ángel Abian.
2. Manzanedo, M.; García,
P. Actualizado el 13 de octubre de 1999.[En línea]. Guía de iniciación al lenguaje Java, Salamanca. Disponible en la siguiente dirección: [Se consulto el 06-11-2007] Co men tar io: Esta fuente presenta datos como herencia, herencia múltiple, jerarquía, limitaciones en la herencia entre otros aspectos. Además presenta una guía muy estructura para aquellos que desean aprender el lenguaje java, como también este documento presenta en forma clara los pasos a seguir para llegar a comprender dicho
Sanchez, Concepción
-4-
Herencia y Jerarquía
lenguaje. Posee ejemplos detallados que me ayudarán a desarrollar el proyecto.
Puchol, A. 26-1-2001. Actualización el 17-Junio-2001. [En línea]. Apuntes lenguaje Java. Disponible en la siguiente dirección: [Se Consulto el 06-11-2007] Co men tar io: Estas fuente presenta un índice con las diferentes opciones, tiene capítulos que hablan sobre la herencia , sobrecarga de métodos en la que una clase puede tener métodos con los mismos nombres , clase abstracta en la que una clase puede declarar un método sin implementarlo. 3.
4. Rodríguez,
1999-2006. Introducción a Java.[En línea]. Disponible en la siguiente dirección: . [Se consulto el 06-11-2007] Co men tar io: Esta fuente presenta un tutorial que trata desde crear nuestra primera clase hasta la clase objetc. También trata temas como el Polimorfismo, la Herencia, y Sobrecarga que es la parte que nos interesa. Se explica en forma detallada y con ejemplos que es polimorfismo y como podemos implementarlo, además nos dice que cuando utilizamos la herencia es como reutilizar una clase. También es posible que utilicemos esa clase incluyendo instancias de la misma en nuevas clases. A eso se le llama composición. En el polimorfismo esta la sobrecarga de métodos, permite sobrescribir en las subclases los métodos de la superclase y así una misma operación puede estar relacionada a métodos distintos en clases diferentes.
Sanchez, Concepción
D.
-5-
Herencia y Jerarquía
5.
Froufe, A. Tutorial de Java, API del lenguaje Java , Versión 3.0. Actualizado el 1-enero-1997. [En línea].Disponible en la siguiente dirección:
< http://www.cica.es/formacion/JavaTut/Cap1/abstr.html>
[Consultado el 06-11-2007] Co men tar io: Esta dirección presenta información concerniente a todos y cada uno de los conceptos que contiene Java. Además presenta ejemplos sobre la herencia, el uso del this y super este último se refiere a que si se necesita llamar a una clase padre dentro de una clase que ha reemplazado ese método, se puede hacer referencia al método padre con la palabra clave “super”. En lo personal consideramos que este tutorial es muy completo y presenta excelentes ejemplos que nos proporcionaron una valiosa ayuda en cuanto a los recursos que se necesitaban para la realización del proyecto. 6. Curso
Java j.06-05-04.[En línea].Disponible en la siguiente dirección:
[Se consulto el 08-11-2007] Co men tar io: La fuente contiene información acerca de las características del lenguaje Java, una pequeña introducción a la programación OO, además esta la Herencia, Polimorfismo, clases, arreglos entre otros. Es importante mencionar que esta fuente identifica con una excelente relación la Herencia y el polimorfismo ya que es uno de los elementos esenciales de la programación OO. En la herencia menciona que existen dos tipos la se nci lla y múl tip le , en la sencilla explica que sólo heredamos de una clase base, mientras que en la otra indica que tenemos varias clases base.
Sanchez, Concepción
-6-
Herencia y Jerarquía
Acerca del polimorfismo dice que clases puedan recibir el mismo responderlo
varios objetos de distintas mensaje y ser capaces de
7. Franco,
A. Curso de Lenguaje Java, Enero de 2000. Procedimientos Numéricos en Lenguaje Java: Diciembre de 2001.[En línea].Disponible en la siguiente dirección: .
[Se consulto el 08-11-2007] Co men tar io: En este documento presenta temas desde la introducción a java como lo que es una clase, objetos entre otros; además presenta el uso de las jerarquías de clases, el polimorfismo en acción, las clases abstractas, entre otros aspectos que nos interesan. Este documento ofrece en forma comprensible la diferencia entre una interfaz y una clase abstracta. La primera es simplemente una lista de métodos no implementados, además puede incluir la declaración de constantes. En cambio una clase abstracta puede incluir métodos implementados y no implementados o abstractos miembros, dato, constantes y otros no constantes. Además hace énfasis en el esfuerzo que se requiere para comprender la propiedades y el comportamiento de un tipo de objeto, transformarlos en la definición de una clase, estructurar la clases en jerarquías, construirlos en procesos de abstracción que implican un cambio de pensamiento en la resolución de los problemas. La jerarquía de clases permiten que las clases reciban atributos y métodos de otras clases, por lo que las clases abstractas solo se pueden usar como base para otras clases.
8. Froufe, A.
Actualización 17 de Mayo de 1999. Tutorial de Java.[En línea]. Disponible en la siguiente dirección:
. Sanchez, Concepción
-7-
Herencia y Jerarquía [Se Consulto
el 08-11-2007]
Co men tar io: En esta fuente se muestra información acerca de la sobrecarga de métodos que no es más, que dos o más métodos puedan tener el mismo nombre, pero distinta lista de argumentos en su invocación. En la herencia se detalla paepel que juegan los constructores, ya que la clases heredadas necesitan que se ejecute el constructor de la clase posterior antes que su propio constructor, para que de esta se inicialicen correctamente aquellas variables heredadas de la superclase. 9. Programación Orientada a Objetos.[Documento en línea].Disponible en: .[Se consulto el 08-11-2007] Co men tar io: Esta es una página una muy completa ya que contiene la características principales de Programación Orientada a Objetos , conceptos sobresalientes del lenguaje Java y diversos ejemplos los cuales podemos comprobar y evaluar para nuestra mayor comprensión del tema. 10.Müller ,P.; Globewide. Actualizado en Agosto 31, 1997. [En línea].Programación orientada a objeto, Network Academy (GNA). Disponible desde Internet en : . [se consulto el 08-11-2006 ] Co men tar io: La fuente anterior se trata de las principales características de la programación orientada a objetos en la que esta muy íntimamente ligada la herencia en la que nosotros podemos forzar a una subclase para que ofrezca las mismas propiedades de sus superclases, Jerarquía, clases abstractas, sobrecarga. 11.Román,
C. [En línea ].Programación con Java. Facultad de Ingeniería, UNAM. Disponible desde Internet:
Sanchez, Concepción
-8-
Herencia y Jerarquía
. [con acceso el 8-11-2006] Co men tar io: Esta fuente de información nos proporciona información acerca la Tecnología Java, Estructura del Lenguaje, Conceptos de OO como Herencia, Superclase, Subclases, Polimorfismo y Abstracción las cuales han sido muy importante para nuestra investigación.
Sanchez, Concepción
-9-
Herencia y Jerarquía
Segunda Fase Glo sar io 1. Je rar quí a:
2.
3. 4.
5.
consiste en la relación entre clases ya que estas no están aisladas. Las clases heredadas heredan datos de las posteriores formando una estructura jerárquica de las clases. He ren cia : en la Programación Orientada a Objetos es un mecanismo el cual permite derivar una clase de otra, es decir que recibe la mismas particularidades de la clase posterior evitando así la repetición de código y proporciona una mejor intuición de mismo, a través de la herencia las clases derivadas reciben datos, métodos o funciones de la súper clase o clase base. La principal función de la herencia es proveer polimorfismo. Debemos usar la herencia cuando hay una clase de un tipo mas especifico que una superclase. ex ten ds: esta palabra clave se usa para generar una subclase (especificación) de un objeto. Po lim orf ism o: como su nombre lo indica poli(mucho) morfismo(formas) en la que una referencia a un objeto de una clase da una referencia a un objeto de una clase que ha sido heredada .Dicho de otro modo diferentes comportamientos relacionados a distintos objetos los cuales pueden compartir el mismo nombre al llamarlos y por ello se utilizara el comportamiento correspondiente al objetos en uso. Cl ase ab str act a: se refiere a la existencia de las clases que no hayan sido instanciadas ya que posee métodos abstractos que han sido definidas es decir sin implementación. Esta clase se denota con el nombre de la
Sanchez, Concepción
- 10 -
Herencia y Jerarquía
clase y de los métodos. Esto es muy útil cuando la implementación es específica para cada usuario, pero todos los usuarios tienen que utilizar los mismos métodos .No se pueden crear objetos pertenecientes a esta clase. 6. Ab str act s: esta palabra clave es utilizada para hacer referencia a las clases abstractas. 7. Th is: al acceder a variables de instancias de una clase, esta palabra hace referencia a los miembros de su propia clase. 8. Su per : si se necesita llamar al método padre dentro de una clase que ha remplazado ese método, se puede hacer referencia al método padre con la palabra clave super. 9. Sú per Cl ase : es la clase base superior que contiene el nombre de la clase. 10. So bre car ga: características de definir métodos con el mismo nombre diferentes en tipos o número de los argumentos. Sobrecargar un método es distinto a sobrescribir un método. La sobrecarga concite en tener varias implementaciones del mismo métodos con distintos parámetros. 11. In ter fas es: Un interfase declara un conjunto de métodos y constantes sin especificar su implementación para ningún método. Los métodos de clase son public , static y proporcionan un mecanismo de encapsulación. 12. Publ ic: Las clases public son accesibles desde otras clases, bien sea directamente o por herencia. Son accesibles dentro del mismo paquete en el que se han declarado. Para acceder desde otros paquetes, primero tienen que ser importadas. 13. Subc las e: Esta es una clase que desciende de otra heredando el estado y comportamiento de sus clases posteriores, esta clase se convierte cada vez mas especializada ya que a medida que aumentan las clases estas se continúan heredando.
Sanchez, Concepción
- 11 -
Herencia y Jerarquía 14.
Co nst ruc tor es: sobrecarga
permiten
que
en
una
clase
haya
EJEMPLIFICACIÓN
CL ASE AB STR ACT A En esta aplicación el dominio es un Re sta ura nte . La cla se Co cin ero es la superclase Abstracta y contiene el método imprimir el cual es abstracto. Como podemos ver la clase mesero hereda de la clase cocinero y podemos hacer uso de el método imprimir mediante el llamado del objeto de la cl ase Me ser o. import javax.swing.*; import java.text.*; class Restaurante /*Clase Principal*/ { public static void main(String args[]){ /*Creación del objeto mesero*/ Mesero objeto = new Mesero(); objeto.imprimir(); }} /*Clase Abstracta*/ abstract class Cocinero { public abstract void imprimir(); } class Mesero extends Cocinero {/*El mesero se comunica con el cosinero */ public void imprimir(){ System.out.println("Digame Joven que Desea"); System.out.println("Tenemos Comida Corriente"); System.out.println("Sancocho"); System.out.println("Arroz con camarones");
Sanchez, Concepción
- 12 -
Herencia y Jerarquía
} } HE REN CIA El dominio de esta aplicación es una Em pre sa la cl ase em ple ado es la superclase y la cl ase ej ecu tiv o es heredera de esta. import java.lang.String.*; import java.text.*; import javax.swing.*; class Empresa /*Clase principal*/ { public static void main(String [] args) { String mg,nom,i,ii; int ed; Capturar bb= new Capturar(); mg="introduzca el nombre ejecutivo"; nom=bb.Captura(mg); mg="introduzca la edad"; ed=Integer.parseInt(bb.Captura(mg)); /*Creación de Objetos*/ Empleado datos=new Empleado(nom,ed); Ejecutivo obeje=new Ejecutivo(nom,ed); System.out.println("Salario Aumentado:"+obeje.SalarioAumentado()); System.exit(0); }} class Empleado /*Súper Clase */ { String Nombre; int Edad; public Empleado(String Nomb,int Edd) { /*Constructor de la clase*/ Nombre=Nomb; Edad=Edd; Sanchez, Concepción
- 13 -
Herencia y Jerarquía
} public String getNombre() { return (Nombre); } public int getEdad() { return (Edad); } } class Ejecutivo extends Empleado /*El ejecutivo es un empleado*/ { public Ejecutivo(String Nomb,int Edd) { super(Nomb,Edd); /*este método permite hacer llamado al método padre*/ System.out.println("****:"+Nomb); } public int SalarioAumentado(){ /*Aumento del salario al ejecutivo*/ int salario,sall; int aumento=50; String dat; dat=JOptionPane.showInputDialog(null,"Introduzca su salario"); sall=Integer.parseInt(dat); salario=sall + aumento ; return(salario); } } POLIMORFISMO
El dominio de esta aplicación es la cl ase Re sta ura nte . como clase principal la cl ase co cin ero en la que se hace uso de un
Sanchez, Concepción
- 14 -
Herencia y Jerarquía
método Ca nti deP edi do s el cual es cero el pedido realizado en esta clase se hace uso del metodo Ca nti deP edi do s en el que se despliega el menu y retorna el numero de pedido que en ese momento se realizo. import javax.swing.*; import java.text.*; class Restaurante { /*Clase principal*/ public static void main(String args[]) { int pedidos,ve; ve=2; Cocinero cos=new Cocinero(ve); /*Objeto de la clase cocinero*/ cos.CantidePedidos(); /*llamados al método de esta clase*/ Mesero objeto = new Mesero(ve); pedidos=objeto.CantidePedidos(); System.out.println("cantidad de pedidos:"+ pedidos); }} public class Cocinero /*Super clase*/ { int ventas; public Cocinero (int ven) { ventas=ven; } public void CantidePedidos()/*Aquí hay polimorfismo*/ { int cantidad=0; System.out.println("Pedidos:"+cantidad); }} class Mesero extends Cocinero { public Mesero(int ven) { super(ven); Sanchez, Concepción
- 15 -
Herencia y Jerarquía
} public int CantidePedidos() /*Aquí hay polimorfismo*/ { System.out.println("Digame Joven que Desea"); System.out.println("Tenemos Comida Corriente"); System.out.println("Sancocho"); System.out.println("Arroz con camarones"); return 1; } }
SO BRE CAR GA El dominio de esta aplicación es la cl ase Es cue la el mismo presenta una sobrecarga de métodos en la cl ase es tud ian te Esta aplicación representa todos los datos de los estudiantes import java.text.*; import javax.swing.*; import java.lang.String.*; class Escuela { public static void main(String[] args) { String concat,msg,nomm,cedd,s; int edd,ss,j; Capturar datos=new Capturar(); Estudiante[] vect=new Estudiante[10]; int i=0; do{ msg="introduce el nombre"; nomm=datos.Captura(msg); msg="Introduzca su Edad"; edd=Integer.parseInt(datos.Captura(msg)); msg="Introduzca su cedula"; Sanchez, Concepción
- 16 -
Herencia y Jerarquía
cedd= datos.Captura(msg); Estudiante datest=new Estudiante(nomm,edd,cedd); vect[i]=datest; s=JOptionPane.showInputDialog(null,"si desea continuar preciona 0:"); ss=Integer.parseInt(s); i++; }while(ss==0); System.out.println(" Nombre.Edad.Cedula"); for(j=0;j
- 17 -
Herencia y Jerarquía
this.edad = ed; this.cedula = ced; } /*La clase estudiante esta sobrecargado y tiene como argumento una variable que tiene como tipo la clase*/ Estudiante(Estudiante usr) { nombre = usr.getNombre(); edad = usr.getEdad(); cedula = usr.getCedula(); } void setNombre(String n) { nombre = n; } String getNombre() { return nombre; } /*El metodo setEdad() está sobrecargado */ void setEdad(int e) { edad = e; } void setEdad(float e) { edad = (int)e; } int getEdad() { return edad; } void setCedula(String d) { cedula = d; } String getCedula() { return cedula; } }
Sanchez, Concepción
- 18 -
Herencia y Jerarquía
Apl ica ció n Ej ec uta ble Esta aplicación tiene como dominio un video club, que tiene como objetivo realizar registros y cálculos de los alquileres de películas. Donde la clase cl ien te (súper clase) contiene métodos que retornan los datos del cliente, donde además posee variables de instancia que serán heredas en la clase Empleado y Registro. En la clase em ple ado contiene métodos que realiza la búsqueda del código del cliente dentro de un archivo. También utiliza un método que realiza la aplicación de un descuento, dependiendo de la cantidad de películas que desea alquilar. En la clase Re gis tro utiliza métodos para realizar el registro de las películas alquiladas, como también realizar los cálculos del saldo del cliente al alquilar películas.
import java.lang.String.*; import java.text.*; import javax.swing.*; /*El objetivo de esta clase es invocar los metodos*/ class Empresa //Clase Dominio { public static void main(String [] args) //Clase principal { String nombr,mesj,s,dir,can,cod1,cod,nom,direc,memb; int edd,ss,i,j,cant,des; float cap,bon,saldo;
Sanchez, Concepción
- 19 -
Herencia y Jerarquía Capturardatos cat=new Capturardatos(); i=0; do { //Llamados a la clase captura los datos del cliente mesj="introduce el nombre del cliente"; nombr=cat.Captura(mesj); mesj="Introduzca la direccion del cliente"; dir=cat.Captura(mesj);
mesj="Introduzca el codigo de Membresia"; cod=cat.Captura(mesj); mesj="Introduzca la cantidad de peliculas alquiladas"; can=cat.Captura(mesj); cant=Integer.parseInt(can);
Cliente dato=new Cliente(nombr,dir,cod,cant);//Objeto de la clase Cliente Empleado eje=new Empleado(nombr,dir,cod,cant); //Objetos de la clase Empleado //Impresión de los datos del cliente de la clase Empleado nom=eje.getNombre(); direc=eje.getDireccion(); memb=eje.getmembresia(); cat.Imprime(nom,direc,memb); des=eje.AplicarDescuento(); cod1=eje.Busca_cliente(); //llamado del metodo que busca el codigo del cliente saldo=Float.parseFloat(cod1); Registro dat=new Registro(nombr,dir,cod,cant,des,saldo);//Objeto de la clase Registro de alquiler dat.AlquileresRealizados(); //llamado del metodo alquileres realizados bon=dat.BonoAlCliente(); //llamado del metodo de bono al cliente System.out.println("Su recibo de bono es por:"+bon); s=JOptionPane.showInputDialog(null,"si desea continuar preciona 0:"); ss=Integer.parseInt(s); i++; }while(ss==0); System.exit(0); } } /******************************************************************************************/
Sanchez, Concepción
- 20 -
Herencia y Jerarquía import import import import
java.lang.String.*; java.text.*; javax.swing.*; java.io.*;
CL ASE CL IEN TE class Cliente /*Super Clase Cliente */ { String Nombre; String direccion; String codigoMem; int cantidad; public Cliente(String Nombr,String dir,String cod, int cant) /*Constructor de la clase cliente*/ { Nombre=Nombr; direccion=dir; codigoMem=cod; cantidad=cant; } public String getNombre() { return Nombre; } public String getDireccion() { return direccion; }
Sanchez, Concepción
- 21 -
Herencia y Jerarquía
public String getmembresia() { return codigoMem; } public int getcantidad() { return cantidad; } public float BonoAlCliente() { return (0); }
/*Aqui hay Polimorfismo*/
Cliente(Cliente usr) /*Aqui hay sobrecargada*/ { Nombre = usr.getNombre(); direccion = usr.getDireccion(); codigoMem= usr.getmembresia(); cantidad= usr.getcantidad(); } } /*****************************************************************************************/ /*El objetivo de esta clase es aplicar un descuento en el alquiler de pelicula, como también el de realizar la busqueda del codigo del cliente dentro del archivo cliente. */
class Empleado extends Cliente { int descuento=0; private String[] dattos=new String[2]; public Empleado(String Nombre,String direccion,String codigoMem,int cantidad) { super(Nombre,direccion,codigoMem,cantidad);//invocacion del constructor de la super clase } public int AplicarDescuento() { if(cantidad>2 ) { descuento=10; return(descuento); } else return(descuento);
Sanchez, Concepción
/*Aumento de salario a Ejecutivo*/
- 22 -
Herencia y Jerarquía } public String Busca_cliente() { String dat=""; try { String linea = new String(); String linea2 = new String(); int i=0;
FileReader arch1 = new FileReader("codigos.txt"); BufferedReader in = new BufferedReader(arch1); while((linea = in.readLine())!= null){
//Abre el nuevo archivo
//lectura del archivo
int cantline=linea.length(); //calcula la longitud de la linea String lineacod = new String(linea); String bus_codigo = new String(codigoMem); int cant2 = lineacod.indexOf(bus_codigo); //busca el codigo
if(cant2 != -1){
//si no devuelve -1 almacena el saldo del cliente linea2=linea.substring(cant2,cantline); } }
dat=linea2; dattos = dat.split(" "); in.close(); }catch (Exception e) { System.err.println("***Error al leer o abrir el archivo...\n" +e); } String cred=dattos[1];//almacena el saldo del cliente return(cred); } } /*******************************************************************************************/ /*El objetivo de esta clase es registrar los datos de las peliculas alquiladas, como también en dar le un bono al cliente*/ CL ASE RE GIS TRO
Sanchez, Concepción
- 23 -
Herencia y Jerarquía class Registro extends Cliente { private int descuent; private int desc; private float saldo1;
//clase registro
//constructor de la clase registro public Registro(String Nombre,String direccion,String codigoMem,int Cantidad, int des,float saldo) { super(Nombre,direccion,codigoMem,Cantidad);//invocacion del constructor de la super clase this.descuent=des; this.saldo1=saldo; System.out.println("Su descuento de alquiler es de: "+descuent+"%"); }
public void AlquileresRealizados()//metodo que realiza el registro de alquiler de peliculas { String s,ss,p,cc; int cant,i; float salario,precio=0,costo,sum,desc=0,total;
Sanchez, Concepción
- 24 -
Herencia y Jerarquía System.out.println("****************Peliculas alquiladas*****************"); System.out.println("*****************************************************"); sum=0; //ciclo que realizara la introduccion del nombre y el pprecio de la pelicula for(i=0;i
public float BonoAlCliente() /*Aqui hay Polimorfismo*/ { float bono=5; System.out.println(""); System.out.println("El usuario recibira un bono de Video Technology"); return(bono); } } /*****************************************************************************************/ import java.text.*; import javax.swing.*; import java.lang.String.*; CLASE CAPTURA DATOS class Capturardatos{ /*El objetivo de esta clase capturar y desplegar los datos del cliente, nombre, direccion, codigo, cantidad de peliculas*/ public String Captura(String mesj) { String datos; datos=JOptionPane.showInputDialog(null,mesj); return (datos);
Sanchez, Concepción
- 25 -
Herencia y Jerarquía
} /******************************************************************************************** */ public void Imprime(String nom,String direc,String memb){ System.out.println(" Video Technology "); System.out.println("Nombre del cliente :"+nom); System.out.println("Direccion del cliente :"+direc); System.out.println("Numero del cliente :"+memb); } }
Sanchez, Concepción
- 26 -
Herencia y Jerarquía CLASS CAPTURADATOS Ap lic aci ón a po yad a e n p rop ues ta U ML Public String captura() Public void Imprime()
CLASS CLIENTE Private Nombre Private Direccion Private codigo Private Cantidad
CLASS EMPRESA
Public Cliente() public String getNombre() public String getDireccion() public String getcodigo() public int getcantidad() public float BonoAlCliente() Cliente(Cliente usr)
Void main()/*Clase principal */
CLASS REGISTRO CLASS EMPLEADO private String[] dattos
private int descuent; private int desc; private float saldo1;
public float RealizaDescuento() public int Busca_cliente()
public void AlquileresRealizados() public float BonoAlCliente() Sanchez, Concepción
- 27 -
Herencia y Jerarquía
CAPTURA DE PANTALLAS Aquí se captura el nombre del cliente
Solicita la dirección del cliente
Solicita código de membresía del cliente
Cantidad de películas que el cliente desea alquilar.
Sanchez, Concepción
- 28 -
Herencia y Jerarquía Despliega los datos del Cliente...
Solicita nombre de la película.
Solicita precio de película
Solicita nombre de la película.
Sanchez, Concepción
- 29 -
Herencia y Jerarquía Solicita precio de película
Solicita nombre de la película.
Solicita precio de película
Pantalla que despliega los datos del alquiler.
Sanchez, Concepción
- 30 -
Herencia y Jerarquía Datos del Archivo saldo.
en donde
se encuentra
el código
del cliente
Error que se produce cuando el nombre del archivo no es correcto.
Sanchez, Concepción
- 31 -
y el
Herencia y Jerarquía
Ex per ien cia s I ndi vid ual es Azurim Sanchez 9-721-1231
1. ¿ C ómo fu e l a l abo r d e l os i nt egr ant es? La
labor
del
grupo
la
considera
buena
ya
que
hay
mucha
comunicación entre los dos.
2. ¿ C uál fu e l a p art e m ás d if íci l y po r q ué? Dificultades fueron pocas, pero si considero que hubo algunas muy extensas y la cuales requerían de inversión de mucha tiempo como fue la visita de los sitios web.
3. ¿Qu é n uev os c on oci mie nto s s e l ogr aro n? Los conocimientos nuevos que adquirí fue: conocer un poco sobre polimorfismo concepto que no tenia muy claro al iniciar la investigación, también algo de herencia, sobrecarga. 4.¿ Qué co noc imi ent os p re vio s f uer on e se nci ale s? Los conocimientos previos que fueron necesarios para elaborar este proyecto fue la Orientación a Objetos(Las clases, los objetos, la herencia...etc)
Sanchez, Concepción
- 32 -
Herencia y Jerarquía
Ex per ien cia In div idu al Jairo Concepción 9-724-1589
En la elaboración de este proyecto me ha llevado a comprender de una manera más clara el significado y el uso del polimorfismo, herencia, clase abstracta, sobrecarga. En la búsqueda de diferentes fuentes de información observe que en el Internet se encuentran las herramientas necesarias para aprender a programar en java y más cuando contamos con la dirección de un profesor. Espero que este trabajo me ayude a realizar mejor los futuros proyectos y así lograr aprobar el curso.
Sanchez, Concepción
- 33 -