Programación Orientada a Objetos

Anuncio
Programación Orientada a
Objetos
Implementación en Java
Angela C. Carrillo Ramos
Agenda
Implementación y uso de clases en
Java
Ejemplo clase CuentaBancaria
1
Ejemplo Diseño Cuenta Bancaria
(1)
Diseñar una clase que modele una Cuenta
Bancaria.. Una cuenta tiene un número,
Bancaria
nombre del cliente, clave, saldo y un
estado (activa, bloqueada, inactiva entre
otros).. A una cuenta se le puede consultar
otros)
su saldo, consignar, retirar, transferir,
bloquear, desbloquear y cambiar clave.
clave.
Implementación de clases en
JAVA (1)
Para implementar una clase en JAVA
se necesita un archivo
<clase>.java:
<clase>.
java:
contiene
la
descripción de la clase y la
implementación (el código) de los
métodos de la clase
2
Implementación de clases en
JAVA (2)
El archivo .java
class <NombreClase>
Aquí se declaran los
atributos de la clase
{
<atributos>
Aquí se declaran los
métodos de la clase
<métodos>
Clase Cuenta Bancaria
class Cuenta Bancaria
{
int numeroCuenta;
String nombreTitular;
String clave;
float saldo;
String estado;
metodo1
metodo2
}
}
Implementación de clases en
JAVA (3)
class <NombreClase>
{
/*-----------------------------------------------------------------------/*-----------------------------------------------------------------------*Atributos de la clase
*-------------------------------------------------------------------------------------------------------------------------------------------*/
*/
//----------------//
-----------------METODOS
METODOS -------- --------------------------------------
//----------------//
-----------------METODOS
METODOS CONSTRUCTORES
CONSTRUCTORES----------------------------------------------------------------//----------------//
-----------------METODOS
METODOS MODIFICADORES
MODIFICADORES----------------------------------------------------------------//----------------//
-----------------METODOS
METODOS ANALIZADORES
ANALIZADORES------------------------------------------------------------------}
3
Implementación de clases en
JAVA (4)
Declaración de atributos
class <NombreClase>
{
/*
/*--------------------------------------------------------------------------------------------------------------------------Tipo del atributo : int,
-------Descripción breve
*Atributos
de la
clase
double, float,
bool,
Nombre del atributo
qué representa
*-------------------------------------------------------------------*/
-----*/ String
private tipo atributo_1; // descripción del atributo
private tipo atributo_2; // descripción del atributo
...
private tipo atributo_n; // descripción del atributo.
de
}
Implementación de clases en
JAVA (5)
Cuenta BancariaBancaria-Declaración de
atributos
class CuentaBancaria
{
/*----------------------------------------------------/*----------------------------------------------------*Atributos de la clase
*-----------------------------------------------------------------------------------------------------*/
*/
private int numeroCuenta;
// Número de la Cuenta Bancaria
private String nombreTitular; // Nombre del Titular de la Cuenta
// Bancaria, diferente de vacía
//
private String clave;
// Clave de la Cuenta Bancaria
private float saldo;
// Saldo de la Cuenta Bancaria
private String estado;
// Estado de la Cuenta Bancaria,
// puede ser activa, inactiva o
bloqueada
}
4
Implementación de clases en
JAVA (6)
Declaración de métodosmétodos-encabezado
public tipo_resultado
<nombre_metodo>(<Lista de parametros> );
<Lista de parámetros> ::=
tipo parametro_1, tipo parametro_2, ... , tipo
parametro_N
Implementación de clases en
JAVA (7)
Declaración de métodos documentación
public tipo_resultado
<nombre_metodo>(tipo parametro_1, tipo parametro_2, ... , tipo parametro_N )
{
//----------------------------------------------------------------------//
----------------------------------------------------------------------// Descripción del propósito del método.
// ---------------------------------------------------------------------// Descripción de parametros:
//
parametro_1:
descripción
//
...
//
parametro_N:
descripción
// ---------------------------------------------------------------------// PRE: Precondición del método (aserciones sobre los parámetros).
// POS: Postcondición del método (aserciones sobre la respuesta y valores
//
finales).
//----------------------------------------------------------------------//
----------------------------------------------------------------------}
5
Implementación de clases en
JAVA (8)
CuentaBancaria-- Declaración de métodos
CuentaBancaria
public float
darSaldo()
{
//----------------------------------------------------------------------//
----------------------------------------------------------------------// Devuelve el saldo de la Cuenta Bancaria.
// ---------------------------------------------------------------------// PRE: True
// POS: darSaldo = saldo
//----------------------------------------------------------------------//
----------------------------------------------------------------------}
public int
darTitular()
{
//----------------------------------------------------------------------//
----------------------------------------------------------------------// Devuelve el Titular de la Cuenta Bancaria.
// ---------------------------------------------------------------------// PRE: True
// POS: darTitular = nombreTitular
//----------------------------------------------------------------------//
----------------------------------------------------------------------}
Implementación de clases en
JAVA (9)
Cuenta BancariaBancaria- Declaración de
métodos
public void
cambiarSaldo(float nuevoSaldo )
{
//-----------------------------------------------------------------//-----------------------------------------------------------------// Cambia el saldo de la Cuenta Bancaria por nuevoSaldo.
// ---------------------------------------------------------------// Descripción de parametros:
//
nuevoSaldo:
es el nuevo valor del saldo
// ---------------------------------------------------------------// PRE: nuevoSaldo >= 0
// POS: saldo==nuevoSaldo
//-----------------------------------------------------------------//-----------------------------------------------------------------}
6
Implementación de clases en
JAVA (10)
Cuenta BancariaBancaria- Declaración de
métodos
public void
cambiarEstado(String nuevoEstado )
{
//-----------------------------------------------------------------//-----------------------------------------------------------------// Cambia el estado de la Cuenta Bancaria por nuevoEstado.
// ----------------------------------------------------------------// Descripción de parametros:
//
nuevoEstado:
es el nuevo valor del estado
// ----------------------------------------------------------------// PRE: nuevoEstado no es vacío
// POS: estado==nuevoEstado
//---------------------------------------------------------------//---------------------------------------------------------------}
Implementación de clases en
JAVA (11)
Cuenta BancariaBancaria- Declaración de
métodos
public void
consignar(float consignacion )
{
//-----------------------------------------------------------------//-----------------------------------------------------------------// Suma al saldo de la Cuenta Bancaria el valor de la consignación.
// -----------------------------------------------------------------// Descripción de parametros:
//
consignacion:
es el valor a consignar en la Cuenta Bancaria
// ----------------------------------------------------------------// PRE: consignacion > 0
// POS: saldo = saldo + consignacion
//-----------------------------------------------------------------//-----------------------------------------------------------------}
7
Implementación de clases en
JAVA (12)
Declaración de métodosmétodos- Métodos
constructores
Los métodos constructores son los que se
ejecutan cuando se crea un objeto de la
clase.
Método sin parámetros
public <nombre_clase> ()
{
}
Método con parámetros
public <nombre_clase> (tipo par1,tipo par2, ..tipo parN)
{
}
Implementación de clases en
JAVA (13)
Cuenta Bancaria - Métodos
constructores
Método sin parámetros
public CuentaBancaria ()
{
}
Método con parámetros
public CuentaBancaria (int numero,String
Titular,float Saldo, String clave )
{
}
8
Implementación de clases en
JAVA(17)
Cuenta Bancaria: Implementación de
los métodos
Constructores
public CuentaBancaria()
{
numeroCuenta = 0;
nombreTitular= null;
clave= null;
saldo= 0;
estado= new String(“activa”);
}
Implementación de clases en
JAVA(18)
Cuenta Bancaria: Implementación de los
métodos
Constructores (cont)
public
CuentaBancaria(int numero,String Titular,float Saldo,
String Clave
)
{
numeroCuenta = numero;
nombreTitular= new String(Titular);
clave = new String(Clave);
saldo= Saldo;
estado= new String(“activa”);
}
9
Implementación de clases en
JAVA(19)
Cuenta Bancaria: Implementación de los
métodos
Constructores (cont)
public
CuentaBancaria(CuentaBancaria C )
{
numeroCuenta = C.darnumeroCuenta();
nombreTitular= new String(C.darTitular());
clave = new String(C.darClave());
saldo= C.darSaldo();
estado= new String(“activa”);
}
Implementación y uso de clases en
JAVA (20)
Cuenta Bancaria: Implementación de los
métodos
Analizadores
public
float
darSaldo()
{
return saldo;
}
10
Implementación y uso de clases en
JAVA (21)
Cuenta Bancaria: Implementación de los
métodos
Analizadores
public
String
darEstado()
{
return estado;
}
Implementación de clases en
JAVA(22)
Cuenta Bancaria: Implementación de
los métodos
Modificadores
public
void
cambiarSaldo(float nuevoSaldo)
{
saldo = nuevoSaldo;
}
11
Implementación de clases en
JAVA(23)
Cuenta Bancaria: Implementación de los
métodos
Modificadores
public
void
cambiarEstado(String nuevoEstado)
{
estado = new String(nuevoEstado);
}
Implementación de clases en
JAVA (24)
Cuenta Bancaria: Implementación de los
métodos
Modificadores
public void
consignar(float consignacion)
{
saldo = saldo + consignacion;
}
public void
retirar(float consignacion)
{
saldo = saldo - consignacion;
}
12
Implementación de clases en
JAVA (25)
Cuenta Bancaria: Implementación de los
métodos
Modificadores
public void
transferir(float transferencia, CuentaBancaria Destino)
{
this.retirar(transferencia);
Destino.consignar(transferencia);
}
Uso de clases en JAVA (4)
Esqueleto de un programa que usa interfaz de
consola:
class <NombreClase>{
// ---------------Declaracion
Declaracion de atributos y métodos de la clase
clase----------------------------public static void main(String
•Tipoargs[])
básico
{
•Clase
//-----//------Declaración
Declaración de Variables
Variables------------------------------------------Ejemplo:
tipo variable_1;
// descripción de la variable
CuentaBancaria c;
...
tipo variable _n; // descripción de la variable
Instrucción_1;
...
instrucción_N;
}
}
13
Uso de clases en JAVA (5)
Instrucciones de entrada/salida por consola
Salida: Mostrar por pantalla
System.out.println("Hola todos”);
System.out.println("El saldo es:" +
saldo);
Entrada: Leer de la pantalla
BufferedReader in = new BufferedReader(
new InputStreamReader(System.in));
String t = in.readLine();
float saldo = Float.valueOf(t).floatValue();
Uso de clases en JAVA (6)
Ejemplo uso de la clase Cuenta Bancaria:
Leer los datos básicos de la Cuenta Bancarias,
hacer una consignación, un retiro y mostrar el saldo
actual..
actual
public static void main (String args[])
{
//-------------//--------------Declaración
Declaración de Variables
Variables--------------------------------------------------CuentaBancaria c;
// la Cuenta Bancaria a manejar
int n;
// número de la Cuenta Bancaria
float saldo;
// saldo de la Cuenta Bancaria
String Titular;
// Nombre del titular de la Cuenta Bancaria
String Clave;
// Clave de la Cuenta Bancaria
String Num;
// Cadena auxiliar para recibir el número de
// la Cuenta Bancaria
c=new CuentaBancaria(); // creamos una Cuenta Bancaria de número 0,
//con Titular y clave vacío, saldo en 0 y
//estado Activa
14
Uso de clases en JAVA (7)
Ejemplo uso de la clase Cuenta Bancaria:
Leer los datos básicos de la Cuenta Bancarias, hacer una consignación, un retiro y
mostrar el saldo actual.
//-------------//--------------Leer
Leer datos de Cuenta Bancaria
Bancaria------------------------------------BufferedReader in = new BufferedReader (new
InputStreamReader(System.in));
System.out.println( "Teclee el Titular de la Cuenta Bancaria" );
Titular = in.readLine();
System.out.println( "Teclee la clave de la Cuenta Bancaria" );
Clave = in.readLine();
System.out.println( "Teclee el número de la Cuenta Bancaria" );
Num = in.readLine();
n = Integer.valueOf(Num).intValue();
System.out.println( "Teclee el saldo de la Cuenta Bancaria" )
Num = in.readLine();
saldo = Float.valueOf(Num).floatValue();
Uso de clases en JAVA (8)
Ejemplo uso de la clase Cuenta Bancaria:
Leer los datos básicos de la Cuenta Bancarias, hacer una consignación, un retiro y
mostrar el saldo actual.
//---------------//----------------Cambiar
Cambiar datos de cuenta Bancaria
Bancaria------------------------------------c.cambiarTitular(Titular);
c.cambiarSaldo(saldo);
c.cambiarClave(Clave);
c.cambiarNumero(n);
//---------------//----------------Cambiar
Cambiar datos de f2
f2--------------------------------------------------------------c.consignar(200.000);
c.retirar(50.000);
System.out.println( ”El saldo actual es” + c.darSaldo() );
}
15
Descargar