·

Cursos Gerais ·

Linguagens de Programação

Send your question to AI and receive an answer instantly

Ask Question

Preview text

Linguagem de Programação Orientada a Objetos Prof Ana Karina D Salina de Oliveira Faculdade de Computação UFMS Trabalho de LPOO 1 Descrição Desenvolver um projeto em Java no Eclipse de Controle de Biblioteca O trabalho poderá ser feito individual ou em dupla Fica opcional o uso de uma interface gráfica usando JavaFX para acessar as funcionalidades No AVA tem uma aula sobre a utilização do Java FX O sistema será composto pelas classes especificadas abaixo O sistema deverá permitir inclusão de objetos das Classes descritas abaixo Relatórios do Projeto 1 Informações das classes Autor LivroFísico Ebook e Biblioteca 2 Livros Físicos Emprestados 3 Lista de Pedidos de compra de novos Livros 4 Orçamento para compra de novos livros 2 Descrição das Classes e Interfaces a Interface Valida Método a boolean validarEmailString email Este método deverá validar o email sempre que for cadastrar um novo Autor Se o valor retornado for false então deverá solicitar um novo email que também deverá ser validado b Interface Compra Método a double calcularPreco Este método deverá retornar o valor total de todos os livros de pedido de compras que será implementado na classe Orcamento c Classe Autor Implementa a interface Valida Atributos privados String nome String email String instituicao Construtor a public PessoaString nome String email String instituicao obs no construtor devese validar o email antes de atribuir o valor do email É preciso chamar o método para validarEmailString email Se o email estiver correto ele será atribuído Caso contrário deverá solicitar um novo email Métodos a Override public boolean validarEmailString email este método terá que validar o email b Override public String toString este método deverá imprimir nome email e instituição do autor d Classe Livro Abstrata atributos protected String titulo String isbn ArrayListAutor autores 1 construtor com os parâmetros String titulo String isbn no construtor será instanciado o ArrayList autores Método a void adicionarAutorAutor autor adiciona o autor aor arryList autores b abstract double getPreco e Classe LivroFisico Estende a classe Livro e tem como atributo privado double preco 1 construtor com os parâmetros String titulo String isbn double preco Métodos a protected double getPreco que retorna o preco b Override compareTo que retorna a comparação dos livros pelo titulo c Override public String toString retorna uma String com os atributos do Livro Físico f Classe Ebook Estende a classe Livro e tem como atributo privado double preco 1 construtor com os parâmetros String titulo String isbn double preco Métodos a protected double getPreco que retorna o preco b Override compareTo que retorna a comparação dos ebooks pelo titulo c Override public String toString retorna uma String com os atributos do Ebook g Classe Biblioteca atributos privados ArrayListLivro livros ArrayListLivro emprestados 1 construtor sem parâmetros que instancia os dois ArrayLists Método a adicionarLivro permite adicionar livros no ArrayList livros b emprestarLivroLivro livro Se o livro a ser emprestado existe no ArrayList livros e o livro ainda não foi adicionado ao ArrayList emprestados então adicione o livro no ArrayList emprestados c devolverLivroLivro livro Se o livro a ser devolvido existe no ArrayList emprestados então remova o livro do Ar rayList emprestados d imprimirLivros imprime todos os livros em ordem alfabética por título existentes na Biblioteca h Classe Orcamento implementa a interface Compra atributos privados ListLivro pedido que é do tipo ArrayList 1 construtor sem parâmetros que instancia o ArrayList pedido Método a adicionarLivro permite adicionar livros no ArrayList pedido b double calcularPreco Calcula o valor total dos livros do Pedido c void listarPedidos Lista todos os livros do Pedido e imprime o valor total do pedido com a chamada do método calcularPreco i Classe Main Possui o método main Pode deixar algusn objetos já criadosmínimo 12 Autores 6 Livros 6 Ebooks 3 pedi dos de compras Usar exceção para tratar entradas inválidas para os valores do tipo numéricos Saídas 1 Listar todos os livros da Biblioteca 2 Listar todos os livros Emprestados 3 Listar o Pedido de Compra com o valor total j Informações adicionais O código deve ser comentado conforme necessidade de explicar certas funções e funci onalidades O projeto deve utilizar obrigatoriamente os conceitos de Herança Abstração Polimor fismo Encapsulamento e Interfaces Os modificadores de acesso das classes e atributos devem ser corretamente atribuídos Enviar no ava o endereço do link do drive e o nome dos alunos do grupo Basta que apenas um do grupo faça a entrega no Moodle A data de entrega será definida no Moodle Entregar um vídeo do trabalho executando onde deverá explicar as principais funcina lidades implementadas no código Enviar o link de onde o vídeo estará armazenado no mesmo arquivo txt que contém o nome dos alunos do grupo O vídeo deverá ter no mínimo 7 minutos e no máximo 15 minutos TODOS os alunos do grupo devem apresentar o trabalho no vídeo A avaliação do trabalho vai ser realizada de acordo com a implementação e apresentação entregues Em caso de plágio de outro colega ou da internet ou de alguma maneira não foi você que fez é zero para o trabalho todo o grupo Quaisquer dúvidas no desenvolvimento do trabalho devem ser enviadas para o email anasalinaufmsbr Bom trabalho