Skip to content

RA7 - CEg

< volver a actividades

Empaquetar actividades

Empaqueta las actividades, dentro de la carpeta ut08, en la carpeta actividades/ce7g.

Actividad 14

paquete: A14_facultad

Realizar una aplicación para la gestión de la información de las personas vinculadas a una Facultad, que se pueden clasificar en tres tipos: estudiantes, profesores y personal de servicio.

A continuación, se detalla qué tipo de información debe gestionar esta aplicación:

  • Por cada Persona, se debe conocer, al menos, su nombre y apellidos, su número de identificación y su estado civil.
  • Con respecto a los Empleados, sean del tipo que sean, hay que saber su año de incorporación a la facultad y qué número de despacho tienen asignado.
  • En cuanto a los Estudiantes, se requiere almacenar el curso en el que están matriculados.
  • Por lo que se refiere a los Profesores, es necesario gestionar a qué departamento pertenecen (lenguajes, matemáticas, arquitectura, ...).
  • Sobre el Personal de servicio, hay que conocer a qué sección están asignados (biblioteca, decanato, secretaría, ...).

El Actividad consiste, en primer lugar, en definir la jerarquía de clases de esta aplicación. A continuación, debe programar las clases definidas en las que, además de los constructores, hay que desarrollar los métodos correspondientes a las siguientes acciones:

  • Cambio del estado civil de una persona.
  • Reasignación de despacho a un empleado.
  • Matriculación de un estudiante en un nuevo curso.
  • Cambio de departamento de un profesor.
  • Traslado de sección de un empleado del personal de servicio.
  • Imprimir toda la información de cada tipo de individuo.

En el método main crear un array de personas. Crear diferentes instancias de las subclases e insertarlas en el array. Probar los diferentes métodos desarrollados.


Actividad 15

paquete: A15_banco

Vamos a hacer una aplicación que simule el funcionamiento de un banco.

Crea una clase CuentaBancaria con los atributos: iban y saldo. Implementa métodos para:

  • Consultar los atributos.
  • Ingresar dinero.
  • Retirar dinero.
  • Traspasar dinero de una cuenta a otra.

Para los tres últimos métodos puede utilizarse internamente un método privado más general llamado añadir(...) que añada una cantidad (positiva o negativa) al saldo.

También habrá un atributo común a todas las instancias llamado interesAnualBasico, que en principio puede ser constante.

La clase tiene que ser abstracta y debe tener un método calcularIntereses() que se dejará sin implementar.

También puede ser útil implementar un método para mostrar los datos de la cuenta.

De esta clase heredarán dos subclases: CuentaCorriente y CuentaAhorro. La diferencia entre ambas será la manera de calcular los intereses:

  • A la primera se le incrementará el saldo teniendo en cuenta el interés anual básico.
  • La segunda tendrá una constante de clase llamada saldoMinimo. Si no se llega a este saldo el interés será la mitad del interés básico. Si se supera el saldo mínimo el interés aplicado será el doble del interés anual básico.

Implementa una clase principal con función main para probar el funcionamiento de las tres clases: Crea varias cuentas bancarias de distintos tipos, pueden estar en un ArrayList si lo deseas; prueba a realizar ingresos, retiradas y transferencias; calcula los intereses y muéstralos por pantalla; etc.

El diagrama UML sería:

ut08_act15

Actividad 16

Sistema de Gestión de Inventario

  1. Crear una jerarquía de clases para un sistema de inventario:
  2. Superclase Producto con atributos nombre, precio y cantidad.
  3. Subclases ProductoPerecedero y ProductoNoPerecedero. ProductoPerecedero tendrá un atributo fechaCaducidad, mientras que ProductoNoPerecedero tendrá un atributo garantia en meses.
  4. Crear una clase Inventario que gestione una lista de productos y permita realizar las siguientes operaciones:
  5. Añadir productos.
  6. Buscar productos por nombre.
  7. Imprimir el detalle del inventario.
  8. Implementar una clase TestInventario para probar todas las operaciones.

< volver a actividades