Ort THP TP2
Ort THP TP2
Resolvé los ejercicios utilizando Java desde Eclipse. Asegurate de leer al menos dos veces cada
ejercicio antes de intentar su resolución.. Los ejercicios están codificados como [en clase] (para
desarrollar con tu docente; [en grupo] (para desarrollar en clase pero trabajando en grupo) y [tarea]
(para desarrollar por tu cuenta).
Actividad 1
A partir de la siguiente definición, más que básica, de una persona:
“Una persona tiene nombre y apellido. Su nombre completo se forma uniendo el nombre al
apellido en un solo valor”.
Persona
- nombre: String
- apellido: String
+ Persona()
+ ponerNombre(valor: String): void
+ ponerApellido(valor: String): void
+ obtenerNombreCompleto() : String
Esta clase tiene dos atributos (el nombre y el apellido, ambos strings) y cuatro métodos (el
constructor, dos setters y un método que permite recuperar el nombre completo de la
persona) que determinan qué puede hacerse con las personas dentro de este programa.
1
Instituto de Tecnología ORT - Carrera de Analista de Sistemas
Materia: Taller de Herramientas de Programación
/**
* Representa a una persona con solo lo necesario para poder ubicarla por nombre
* completo.
*/
public class Persona {
public Persona() {
nombre = "";
apellido = "";
}
Ahora creá un nuevo de archivo dentro del mismo paquete llamada Test y pegá el siguiente
código:
public class Test {
unaPersona.ponerNombre("Hortencio");
unaPersona.ponerApellido("Ortega");
Ejecutá ahora el nuevo archivo y compartí con tus compañeros el resultado de la ejecución.
¿Qué está haciendo de especial Test con Persona? ¿Por qué no funciona la clase Persona
por sí misma? ¿Qué función cumple el método main() en un programa? ¿Y qué hace el
operador new con Persona en este último método?
Y respecto a la clase Persona, ¿estaban bien las conclusiones respecto a las preguntas
previas? ¿Coincide lo que suponíamos con lo que realmente hace este programa bajo el
paradigma de la POO?
Entender en detalle sin experiencia previa el código anterior parece complicado, pero
avancemos paso a paso y en poco tiempo estaremos listos para entenderlo a la perfección.
Ejercicios
Desarrollá los siguientes ejercicios armando un package (paquete) por cada actividad y
dentro por cada ejercicio.
1. Arrancando despacito
Antes de seguir avanzando con más conceptos veamos si podemos diseñar y llevar
a código los siguientes ejercicios. No te preocupes por ahora en el desarrollo de cada
método (qué hace cada uno de ellos) sino más bien en la correspondencia entre lo
que propone el diseño de las clases y el código en Java. Alcanza con escribir lo que
va apareciendo en la tabla asociado a cada clase:
Clase Atributos
Métodos
+ mostrarComoCadena()
+ mostrarDiasTranscurridos()
TelefonoMovil Atributos
[en grupo]
- marca (entero)
- encendido (booleano)
Métodos
+ prender(): void
+ apagar(): void
+ llamar(numero: String)
MaquinaDeCafe Atributos
[tarea]
- nivelAgua (entero)
- cantidadVasos (entero)
Métodos
+ prender(): void
+ apagar(): void
+ prepararInfusion(): void
Actividad 2
Avanzamos sobre el desarrollo de programas viendo cómo las clases se relacionan entre
ellas y empezando a explotar sus métodos (es decir, a escribir el código dentro de los
métodos para que las clases ganen comportamiento).
También veremos un nuevo tipo de dato conocido como Enumerados (o como se los
suele llamar: Enums).
Ejercicios
Actividad 3
Seguimos practicando y conociendo nuevas relaciones entre clases y, ahora, ¡objetos!
Siempre, luego de cada ejercicio, compará el diagrama generado desde Eclipse con el
diseñado previamente con UMLetino.
Apoyate en lo visto y desarrollado en Fundamentos de Programación, más lo que ves con
tu docente de Taller de Herramientas de Programación para implementar los ejercicios que
aparecen a continuación.
Ejercicios
6. Corralito corralón... [en clase]
Una CuentaBancaria consta de los siguientes atributos:
● La clave bancaria uniforme (CBU).
● El tipo (caja de ahorro o cuenta corriente).
● El saldo (inicialmente en 0).
● La fecha de apertura (de tipo Fecha).
● El titular de la cuenta (de tipo Persona).
La Persona titular de la cuenta tiene
● DNI
● nombre
● apellido
● fecha de nacimiento
● domicilio
Y el Domicilio tiene
● calle
● altura
● barrio.
Cada vez que se crea una nueva cuenta bancaria debe establecerse
automáticamente la fecha de apertura y también generarse un nuevo CBU. Para ello,
agregá los siguientes métodos estáticos en la clase CuentaBancaria, ambos sin
parámetros (no es necesario que los implementes):
Las operaciones que debe poder hacer toda cuenta bancaria son:
● verSaldo(): double. Devuelve el saldo actual de la cuenta.
● depositar(double): void. Actualiza el saldo de la cuenta, sumando el monto
enviado por parámetro (debe controlarse que no sea negativo. Si lo es,
ignorarlo.
● extraer(double): boolean. Actualiza el saldo de la cuenta, restando el monto
enviado por parámetro, siempre y cuando el saldo alcance. De lo contrario no
debe realizar la extracción
Calculadora Métodos
Hacer un programa que use la calculadora para probar las cuatro operaciones.