apuntes:objetos
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
apuntes:objetos [2023/06/04 18:18] – [Ejercicios] Santiago Faci | apuntes:objetos [2023/06/04 21:03] (current) – [Ejercicios] Santiago Faci | ||
---|---|---|---|
Line 922: | Line 922: | ||
// Si hay que acceder a atributos/ | // Si hay que acceder a atributos/ | ||
- | if (vehiculoMotor instanceof Moto) { | + | if (vehiculoMotor instanceof Moto moto) { |
- | Moto moto = (Moto) vehiculoMotor; | + | |
// Se puede acceder a la implementación específica del objeto | // Se puede acceder a la implementación específica del objeto | ||
+ | moto . . . | ||
} | } | ||
- | else if (vehiculoMotor instanceof Lancha) { | + | else if (vehiculoMotor instanceof Lancha |
- | Lancha lancha = (Lancha) vehiculoMotor; | + | |
// Se puede acceder a la implementación específica del objeto | // Se puede acceder a la implementación específica del objeto | ||
+ | lancha . . . | ||
} | } | ||
. . . | . . . | ||
Line 1019: | Line 1019: | ||
====== Ejercicios ====== | ====== Ejercicios ====== | ||
+ | |||
+ | {{ ejercicio.png}} | ||
- Desarrolla una clase **CuentaBancaria**, | - Desarrolla una clase **CuentaBancaria**, | ||
Line 1050: | Line 1052: | ||
- Una operación que permita incrementar el nivel de la ciudad. En esta operación habrá que tener en cuenta que cuando el nivel supere el valor 10 la | - Una operación que permita incrementar el nivel de la ciudad. En esta operación habrá que tener en cuenta que cuando el nivel supere el valor 10 la | ||
- Para **todos los casos**, implementar las clases, atributos, constructores necesarios y las operaciones solicitadas | - Para **todos los casos**, implementar las clases, atributos, constructores necesarios y las operaciones solicitadas | ||
+ | - El propietario de un **taller** te ha encargado que desarrolles una aplicación para la gestión de su trabajo. Te encuentras en el paso en que debes diseñar e implementar las clases necesarias para desarrollar dicha aplicación. En el taller arreglan Coches y Motos y trabajan varios mecánicos. De los coches quieren almacenar el número de bastidor, la matrı́cula, | ||
+ | - En cuanto a las operaciones de los **coches**, se esperan las siguientes: | ||
+ | - Una operación que permita añadir kilometros al coche | ||
+ | - Una operación para pintar el coche de otro color | ||
+ | - De las **motos** se necesitarán estas operaciones: | ||
+ | - Una operación para eliminar el carenado de la moto (hay que tener en cuenta que el peso disminuirá en 2 kg) | ||
+ | - Una operación para pintar la moto de otro color | ||
+ | - Para el caso de los **mecánicos**, | ||
+ | - Una operación que permita reparar cualquier vehı́culo, | ||
+ | - Una operación que permita marcar que un vehı́culo entra al taller, marcándolo como sin reparar, para que quede constancia que hay que trabajar en él | ||
+ | - De alguna forma tendremos que poder asignar un vehı́culo al mecánico, de forma que cuando éste lo repare deje de estarlo | ||
+ | - Implementar las clases necesarias con sus atributos, los constructores, | ||
+ | - Ahora te piden diseñar el sistema de clases para una **biblioteca**. Sólo se necesita almacenar la información relativa a **Socios**, **Libros** y **CDs de música**. | ||
+ | - Puede haber varios **tipos de libros (novelas y tebeos) o cds**. De todos ellos se quiere almacenar el isbn, titulo, autor y el año de edición. Es posible que en el momento de dar de alta cualquier elemento no se disponga de la información del autor (habrá que tenerlo en cuenta). | ||
+ | - De las **novelas** además se guardará un resumen del argumento de unas 100 palabras y, en ocasiones, el número de páginas | ||
+ | - De los **cds de música** se querrá almacenar también el número de canciones y la discográfica que lo comercializó. | ||
+ | - De los **tebeos** se quiere guardar un resumen y el personaje principal. | ||
+ | - De los socios guardaremos el número de socio, nombre, apellidos y un email. No siempre se podrá disponer del email por lo que será un dato opcional. Además se quiere guardar en todo momento que libro ha pedido prestado cada usuario, teniendo en cuenta que sólo puede coger un libro al mismo tiempo. | ||
+ | - Hay que tener en cuenta que también existe un tipo especial de **socio (VIP)** que podrá alquilar libros durante más tiempo previo pago con tarjeta de crédito, por lo que guardaremos el número de la misma. | ||
+ | - Se te piden realizar lo siguiente: | ||
+ | - Implementar las clases necesarias para la aplicación | ||
+ | - Implementar los constructores que permitan trabajar con las clases de la forma que se indica | ||
+ | - Implementar operaciones para que los socios puedan alquilar y devolver. Habrá que controlar que no puedan alquilar nada si todavı́a no han devuelto lo que tenı́an alquilado. También hay que tener en cuenta que sólo permitimos el alquiler de cds de música si el socio ha facilitado su dirección de correo electrónico | ||
+ | - Te piden diseñar las clases que permitirán definir el modelo de datos para una aplicación que permita gestionar toda la información de **Parque Zoológico**. Hay que tener en cuenta que puede haber cualquier tipo de animal pero que todos, al fin y al cabo, necesitan los mismos cuidado y tienen el mismo comportamiento, | ||
+ | - En cuanto a los cuidados, tiene que ser posible: limpiarlos, darles de comer, cambiarlos de estancia y curar cualquier enfermedad que puedan tener | ||
+ | - En cuanto a su comportamiento, | ||
+ | - Debes diseñar, además, el modelo de clases pensando que en cualquier momento puede ser incorporado al Zoo animales de nuevas razas. Intenta definir dicho modelo permitiendo que sea fácil adaptable a esta nueva situación. | ||
+ | - Define: | ||
+ | - Una cuantas clases para una variedad de animales | ||
+ | - Constructores | ||
+ | - Gettes y Setters necesarios | ||
+ | - Una clase principal donde probar el funcionamiento de todo el modelo diseñado | ||
+ | - La cadena de **supermercados CodeAndCokeMarket** te ha contratado para que desarrolles la aplicación que necesitan para gestionar al personal, sus locales y las ventas. | ||
+ | - Hay que tener en cuenta que, en cada **local**, hay un **encargado**, | ||
+ | - En cuanto a los **locales**, | ||
+ | - En cuanto a los **clientes**, | ||
+ | - Sobre los **productos**, | ||
+ | - Define: | ||
+ | - Clases para definir todo el problema | ||
+ | - Constructores, | ||
+ | - Una clase principal donde probar el funcionamiento de todo el modelo diseñado | ||
---- | ---- | ||
(c) 2019-{{date> | (c) 2019-{{date> |
apuntes/objetos.1685902722.txt.gz · Last modified: 2023/06/04 18:18 by Santiago Faci