Professional Documents
Culture Documents
PROGRAMACIÓN IV
INF-212
LABORATORIO # 5
HERENCIA
PROFESOR
DIEGO SANTIMATEO
INTEGRANTES
JAIRO CONCEPCIÓN 9-724-1589
FECHA
26 DE OCTUBRE DE 2008
1
INDICE
Contenidos Pág.
Introducción..................................................................................................... 3
Objetivos......................................................................................................... 4
Descripción del Problema............................................................................... 5
Diagrama UML de Clases.............................................................................. 6
Descripción de las Clases, Métodos y Variables............................................ 7
Class Principal........................................................... ........................... 7
Código Fuente................................................................................ 7
Class FlujoReadln................................................................................. 8,9
Código Fuente................................................................................ 10
Class TodoFlujo................................................................................... 11
Código Fuente................................................................................ 12
Ejecución de la Aplicación, ........................................................................... 13,16
Experiencia.................................................................................................... 16
2
INTRODUCCIÓN
Este trabajo consiste en crear un programa que utilice los conceptos de herencia, sobrecarga y
polimorfismo, donde vemos que la herencia es la que permitirá la creación de nuevas clases
basadas en clases existentes.
Cuando heredamos de una clase existente, heredamos métodos y campos, y agregamos nuevos
métodos para cumplir con la situación nueva.
Aunque también existe la sobrecarga de constructores: Cuando en una clase existen constructores
múltiples, se dice que hay sobrecarga de constructores. Este tipo de sobrecarga se vera en este
trabajo.
Y el polimorfismo es el que implica que un mismo Objeto puede tomar diversas formas.
En este trabajo se podrán observar estos puntos de una manera simple y sencilla.
3
OBJETIVO DEL PROGRAMA
4
DESCRIPCIÓN DEL PROBLEMA
5
Class Principal
String nom;
Objetos -Clases
FlujoReadln ManejoFlujo = new FlujoReadln(nom);
ManejoFlujo.Leer();
Main()
Class Estudiante
Class FlujoReadln
BufferedReader in;
BufferedReader in; InputStreamReader isr;
PrintWriter Deposito; PrintWriter Retiro;
PrintWriter Retiro; PrintWriter ar;
PrintWriter Saldo;
BufferedReader Leer()
FlujoReadln(nom) PrintWriter Deposito()
BufferedReader Leer() PrintWriter Retiro()
PrintWriter Deposito()
PrintWriter Saldo()
6
CODIGO FUENTE
import java.io.*;
import javax.swing.*;
import java.lang.*;
class Flujo {
retiro y retiro. La clase Flujo invoca a la clase FlujoReadln para luego utilizar el método Leer()
7
CODIGO FUENTE DE LA CLASE FlujoReadln
El objetivo de esta clase es el de realizar las transacciones de
import java.io.*;
import javax.swing.*; los diferentes tipos de cuentas que se encuentran en un
import java.net.*;
Herencia archivo, el cual tendrá que sumar todos los Depositos, los
import java.lang.*; retiros de cada cuenta y sacar el saldo de cada cuenta para
luego escribir en un archivo de deposito todos los depósitos y
public class FlujoReadln extends TodoFlujo{
en un archivo de retiro todos sus retiros y también en otro
private BufferedReader in; archivo el saldo actual de cada cuenta.
private PrintWriter Deposito,Retiro,Saldo;
NumC=trans[0];
saldofinal=0;
DatosDep=0;
DatosRe=0;
8
if(trans[1].equals("0"))
{ Saldo actual del
saldofinal+=saldoactual;
}
cliente
else{
if(trans[1].equals("1")){
sumadeposito+=saldoactual;
}
else{
if(trans[1].equals("2")){
Retiro que
realiza el saldofinal-=saldoactual;
cliente
DatosRe+= saldoactual;
sumaretiro+=saldoactual;
}
}
NumC=trans[0];
}
Saldo.println("Cuenta Nº "+NumC+" Saldo: "+saldofinal);
System.out.println("dada"+saldofinal);
Saldo.println("-------------------------------------------------------------");
Saldo.println("9999 "+"3"+" "+sumasaldo);
Deposito.println("Cuenta Nº "+NumC+" Depositos: "+DatosDep);
Deposito.println("-------------------------------------------------------------");
Deposito.println("9999 "+"3"+" "+sumadeposito);
Retiro.println("Cuenta Nº "+NumC+" Retiros: "+DatosRe);
Retiro.println("-------------------------------------------------------------");
Retiro.println("9999 "+"3"+" "+sumaretiro);
System.out.println("Se estan realizando las operaciones espere un momento" );
System.out.println("-------------------------------------------------------------");
System.out.println("Las transacciones de Deposito, Retiro y Saldo actual se han" );
System.out.println("registrado en sus respectivos archivos" );
System.out.println("-------------------------------------------------------------");
Saldo.close();
Deposito.close();
Retiro.close();
return(in);
}
9
}
Class FlujoReadln
Variables de la Clase
Nombre Tipo
in BufferedReader
Deposito PrintWriter
Retiro PrintWriter
Saldo PrintWriter
10
CODIGO DE LA CLASE TODOFLUJO
import java.io.*;
import javax.swing.*;
import java.net.*;
Constructor
que maneja el
flujo de un
documento 11
URL
URL rutaservi=new URL(Name);
URLConnection pag=rutaservi.openConnection();
InputStream is=pag.getInputStream();
this.isr=new InputStreamReader(is);
this.in = new BufferedReader(isr);
Polimorfismo }
12
EJECUCIÓN DEL PROGRAMA
Archivo transacciones
es la que contiene todas
las cuentas
Se introduce el
nombre del archivo
que contiene las
transacciones
13
Cuando el programa termina de realizar el
proceso, despliega este mensaje.
Cuentas que
contiene este
archivo, contiene 6
cuentas, las cuales
cuentas con saldo
inicial, depósitos y
retiros
14
Archivos
creados
Archivo que
muestra el
total de
deposito que
Suma total se realizo en
cada cuenta
Archivo que
muestra el
total de retiro
que se realizo
en cada
Suma total
cuenta
Archivo que
muestra el
total del saldo
de cada
numero de
cuenta Suma total
15
Aquí se puede observar los 3 archivos creados
con sus respectivos nombres
/****************************************************************************/
Experiencia
Bueno la experiencia que adquirí fue el de conocer y manejar un poco más el
concepto e implementación de herencia, polimorfismo y sobrecarga, ya que
en este laboratorio pienso que lo utilice de una manera sencilla, pero me
gustaría mejorar más. Creo que en cada laboratorio voy mejorando un poco
más en cuanto a la codificación porque trato de reducir un poco más los
códigos de cada método ya que java nos permite crear programas de una
manera modular y por eso pienso que esa es una de las grandes ventajas de
java.
16