Está en la página 1de 8

Servicio Nacional de Aprendizaje – SENA

Actividades de transferencia del conocimiento

Evidencia:

Clases y objetos

Aprendiz:

Mateo Duque Gomez

Instructor/a:

Luisa Fernanda Franco Pineda

Fecha:

13/10/19
Una empresa desarrolladora de software se encuentra realizando pruebas de
admisión para una de sus vacantes y usted ha sido seleccionado para
participar en este proceso; lo que se busca es determinar sus competencias y
habilidades en el manejo de clases y objetos, por lo que se le encomienda
ejecutar actividades de consulta y elaboración de algunos applets. Para
desarrollar esta evidencia, tenga en cuenta los siguientes pasos:
 Realice una consulta en internet sobre los conceptos de modelación,
identificando ejemplos de definición de clases con el uso de UML, revisando:
a. Modelación de clases.
b. Definición de variables de instancia y de clase.
c. Comportamientos de objetos de la clase.
d. Diagrama de clases.

a. Es el proceso en el cual plasmamos la relación entre cada una de las clases y


sus atributos y métodos.

b. Las variables de instancia son definidas dentro de la clase, pero fuera de


cualquier método, y son solo inicializadas cuando la clase es instanciada. Las
variables de instancia son los campos que pertenecen a cada objeto único.
Una variable de clase es aquella que solamente tiene un valor para toda la
clase y debe ser definida como static (estática) para que no se cree un nuevo
valor con cada instancia.

c. Comportamiento es como un objeto, actúa y reacciona, en términos de sus


cambios de estado y de los mensajes que intercambia.

El comportamiento de un objeto representa su actividad externamente visible


y testable. Son las operaciones que una clase realiza (llamadas también
mensajes) las que dan cuenta de cómo se comporta la clase. Por operación se
denota el servicio que una clase ofrece a sus clientes. Un objeto puede realizar
cinco tipos de operaciones sobre otro, con el propósito de provocar una reacción:

1) Modificador: altera el estado de un objeto.


2) Selector: accede al estado de un objeto, sin alterarlo.
3) Iterador: permite a todas las partes de un objeto ser accedidas
en un orden.
4) Constructor: crea un objeto y/o inicializa su estado.
5) Destructor: libera el estado de un objeto y/o destruye el objeto.
d. Un diagrama de clase es un tipo de diagrama de estructura estática que
describe la estructura de un sistema mostrando las clases del sistema, sus
atributos, operaciones (o métodos), y las relaciones entre los objetos.

 Teniendo en cuenta el siguiente problema, escriba las clases y defina


las variables y métodos:

En un banco se manejan cuentas bancarias que pertenecen a un


cliente; cada vez que éste realiza un depósito o retiro, debe dar su
número de usuario para poder realizar ambas operaciones, claro que,
en el caso de un retiro, es necesario mostrar alguna identificación la
cual compruebe que él es el poseedor de la cuenta, y si hay dinero
suficiente en ésta, dicha operación se realiza. El banco tiene una serie
de empleados con una identificación para cobrar su sueldo; es
importante manejar los años que llevan trabajando, pues de esto
dependen sus vacaciones (se dan cinco días por el primer año y se
aumentan dos días por cada año cumplido hasta llegar al máximo que
son 20 días), un empleado del banco puede ser cajero, supervisor,
recepcionista, en fin, existen una serie de puestos que se deben cubrir
para que esta entidad funcione satisfactoriamente. El banco tiene
contacto con algunas empresas con las que sus clientes pueden tener
inversiones, manejando diferentes niveles de riesgo. El banco
identifica una clave de casa inversionista, de hecho, es muy
importante la confiabilidad de ésta teniendo en cuenta su historial, los
porcentajes de retorno de inversión, los montos de las inversiones y
los plazos, esto para poder ofrecerle al usuario una gama de
inversiones que puedan realizarse por medio de la entidad financiera.

Tenga en cuenta utilizar al menos una variable y un método de clase


para cada una de las clases definidas.
Presentación de clases:
Relación entre las clases:
Escriba las clases padre, hijo, y si hay necesidades abstractas,
definiendo las variables y métodos necesarios de acuerdo al siguiente
caso:
Un cliente puede depositar o retirar de una cuenta de ahorro, y el
primer depósito que haga debe ser de $1,000 invariablemente. Para
cada retiro el cliente puede sacar lo que desee, pero la cuenta nunca
puede quedar en ceros, al menos debe haber $500,
dependiendo de la cuenta. Se maneja un porcentaje de ahorro anual,
aspecto que es definido al momento de
crearse la cuenta de ahorro; cada mes se deben calcular los intereses
para incrementar el saldo en la cuenta.
Para una cuenta de inversión, el monto inicial debe ser de $25,000, y
en caso de retiro, no se puede dejar la cuenta en ceros, al menos tiene
que haber $10,000 en la cuenta a menos que se cancele y se quiera
retirar todo.

Los empleados del banco al igual que cualquier cliente poseen un


número y un nombre, el número ayuda a diferenciarlos de los demás,
cada funcionario tiene un puesto específico por el que recibe un
salario, y de acuerdo a la antigüedad, días de
vacaciones al año.

Escriba una aplicación que muestre el uso de las clases anteriores,


enseñando el uso de los objetos de clase que tienen herencia,
polimorfismo y abstracción

public abstract class Cliente{


private String NUMCUENTA;
private String NOMBRE;
public String getNUMCUENTA()
return NUMCUENTA;
}
public void setNUMCUENTA(String NUMCUENTA) {
this.NUMCUENTA = NUMCUENTA;
}
public String getNOMBRE() {
return NOMBRE;
}
public void setNOMBRE(String NOMBRE) {
this.NOMBRE = NOMBRE;
}
public abstract void setRetiro(double Cantidad);
}

public class CuentaInversion extends Cliente {


private double Saldo;

public CuentaInversion(){
this.Saldo=25000;
}
public void setRetiro(double Cantidad) {
if(Cantidad>Saldo){
System.out.println("No puede retirar mas de lo que tiene...!!!");
}
else
{
if (Cantidad==Saldo)
{
System.out.println("Va a retirar todo su dinero...!!!");
this.Saldo = Saldo-Cantidad;
}
else
{
if(Cantidad<=0)
System.out.println("Ingrese cantidad mayor a 0");
else
{
this.Saldo = Saldo-Cantidad;
if(Saldo<=10000)
{
System.out.println(
¡¡¡”Saldo minimo en ahorros es de 500...!!!”);
this.Saldo = Saldo+Cantidad;
}
}
}
}
}
public double getSaldo() {
return Saldo;
}
public void setSaldo(double Saldo) {
this.Saldo = Saldo;
}