Documentos de Académico
Documentos de Profesional
Documentos de Cultura
com
Entornos de desarrollo
opiniones.principales : dentro de este paquete colocaremos la clase principal del sistema, llamada Principal , y un
clase adicional llamada Gestión .
opiniones.datos : dentro de este paquete agregaremos todas las clases e interfaces necesarias para administrar el
Datos de la aplicación.
1. Datos de la aplicación
Vamos a definir una clase abstracta padre llamadaNegocio. De cada negocio, queremos almacenar su nombre y
ubicación (nombre de la ciudad). Defina un constructor parametrizado, junto con el correspondientecaptadoresysetters,
y anular elEncadenarmétodo para devolver el nombre comercial con la ubicación entre paréntesis. Por ejemplo:
Restaurantes (en una clase llamadaRestaurante). En este caso queremos almacenar el tipo de comida (italiana,
mediterránea...) como un atributo adicional. Definir el constructor y el apropiadocaptador / colocadory anular
Encadenarmétodo para especificar que este negocio es un restaurante, junto con el tipo de comida. Por ejemplo:
Peluqueros (en una clase llamadaPeluquero). Necesitamos saber si este peluquero es unisex o no (un valor
booleano). Defina el constructor correspondiente ycaptador / colocadory anularEncadenarmétodo para
especificar que este negocio es una peluquería, indicando si es unisex o no. Por ejemplo:
1/5
Entornos de desarrollo
Garajes (en una clase llamadaGaraje). Añadimos el precio por hora de la mano de obra en euros (número en coma
flotante) como su atributo particular, junto con el constructor ycaptador / colocador. losEncadenarse debe anular el
método para mostrar que este negocio es un garaje, junto con el precio por hora. Por ejemplo:
Estas subclases deben basarse en la clase principal tanto como sea posible (constructores, métodos anulados, etc.).
1.2. Usuarios
Habrá unaUsuarioclase para almacenar información de usuarios registrados: soloaccesoyclaveson necesarios, así que defina el
constructor correspondiente ycaptadores(nosettersniEncadenarmétodo necesario aquí).
1.3. Reseñas
Finalmente, habrá unRevisarclass para almacenar las diferentes revisiones. Cada opinión debe tener un usuario asociado (un
usuario por opinión), junto con el comentario (texto) y la calificación (número entero entre 0 y 5, ambos incluidos). Defina el
constructor para especificar estos tres valores (objeto de usuario, comentario y calificación), el correspondiente captadores/
establecedoresy unEncadenarmétodo que imprime la información de la reseña de esta manera:
Comentario
Clasificación
Por ejemplo:
juan123
Es un restaurante fantástico. La comida es muy buena y el personal es muy amable. 5/5
Cada negocio tendrá una variedad de reseñas como su atributo interno. Agréguelo a la clase abstracta principal y asígnelo en el
constructor, junto con unadquiridorpara obtener esta matriz del negocio. Además, agregue un nuevo método paraNegocioclase
llamada revisiónPromedio , sin parámetros; devolverá el promedio de las revisiones
perteneciente a este negocio
losEncadenarmétodo de cada negocio ahora debe mostrar esta información adicional. Por ejemplo:
2/5
Entornos de desarrollo
2. El paquete principal
Vamos a definir la mayor parte del código dentroGestiónclase (en opiniones.principales paquete). como interno
atributos de esta clase, necesitamos agregar una matriz de usuarios y una matriz de empresas. Luego, debe agregar los
siguientes métodos:
inicializar vacío () : sin parámetros ni tipo de retorno. Este método se encargará de:
Inicialice la matriz de usuarios con al menos 10 usuarios diferentes (con sus correspondientes inicios de sesión y
contraseñas)
Inicialice la matriz empresarial con al menos 2 empresas de cada tipo. Para cada negocio, debemos definir
una matriz de al menos 2 reseñas, provenientes de diferentes usuarios de la matriz anterior. No puede haber
más de una reseña del mismo usuario en el mismo negocio.
NOTA: este método NO necesita preguntar nada al usuario. Cada objeto debe definirse manualmente en el
código.
Inicio de sesión de usuario (cadena de inicio de sesión, contraseña de cadena) : buscará un usuario con el correspondiente login
y contraseña en la matriz de usuario, y devolverlo. Si ningún usuario coincide con las credenciales, devolveránulo.
Dentro dePrincipalclase solo necesitamos un principal método. Debe completar estos pasos
3/5
Entornos de desarrollo
5.Dejar
Para cumplir con los requisitos del menú anterior, es posible que deba agregar algunos métodos adicionales para
Gestiónclase. Por ejemplo:
Un método void showReviews (Usuario usuario) para mostrar las reseñas pertenecientes a un usuario determinado. Puede
reciba como parámetro el objeto de usuario (o el inicio de sesión del usuario) y luego explore la matriz comercial e imprima las reseñas de
este usuario
Un método void ordenarNegociosPorNombre () para ordenar las empresas alfabéticamente por nombre y mostrar
ellos
Un método void sortBusinessesByRating (tipo int) para ordenar los negocios por calificación promedio en
Un método (o métodos) para ayudar al usuario a editar una reseña (opción 4 del menú anterior). Por ejemplo:
Un método empresa pública findBusiness (nombre de la cadena) para buscar una empresa por su nombre en
parámetros Entonces, desde la función principal, puede pedirle al usuario que escriba el nuevo comentario y calificación, y
Tenga en cuenta que debe asegurarse de que existan datos antes de intentar usarlos. Por ejemplo, si el usuario escribe un
nombre comercial que no existe en la matriz comercial, entonces no podemos continuar en esta opción y debemos regresar
al menú.
Consideraciones finales
Además de las clases y los métodos mencionados anteriormente, puede agregar tantos métodos adicionales a cada clase como
necesite (Principalla clase SÓLO debe tener laprincipalmétodo). Además, puede agregar tantas implementaciones de interfaz
(ya sea usando clases o clases anónimas) como necesite, especialmente para clasificar los negocios según diferentes criterios.
4/5
Entornos de desarrollo
4. Criterios de evaluación
0. Estructura del proyecto con los nombres y clases de paquetes apropiados dentro de cada paquete:0,25 puntos
1. Datos de la aplicación
2. Paquete principal
Gestión'sinicializarmétodo:0.5 puntos
Gestión'saccesométodo:1 punto
Instanciación de gestión e inicio de sesión de usuario desdeprincipal:1 punto Mis
5/5