Elabore um projeto em Java que contenha no mínimo 5 classes (que façam sentido). Cada classe deve possuir pelo menos dois atributos e um método. Seu projeto deverá ser executado pela linha de comando e deve ser possível criar e listar, em tempo de execução e através de um menu, objetos de cada uma das 5 classes.
Continuando o projeto elaborado na etapa 01:
- transforme todos os atributos de suas classes em atributos privados;
- crie métodos get e métodos set para os atributos que achar adequado;
- crie um método construtor para cada classe;
- toda a lógica de interação com o usuário deve estar na classe Main, assim como os objetos que armazenam o que for criado pelo usuário;
- substitua todos os vetores por listas;
- deve ser possível, em tempo de execução, criar, listar, atualizar e excluir objetos de todas as classes.
Continuando o projeto elaborado na etapa 01 e 02:
- organize seu projeto em pelo menos 2 pacotes;
- seu projeto deve possuir pelo menos uma classe abstrata e duas classes que estendem (herança) esta classe abstrata, além disso, esta herança deve fazer sentido;
- sua classe abstrata deve possuir pelo menos um método abstrato e as classes filhas devem implementá-lo (sobrescrita);
- suas classes devem possuir pelo menos dois métodos construtores (sobrecarga);
- deve ser possível, em tempo de execução, listar os objetos que estendem a classe abstrata utilizando referências para a classe mãe abstrata (polimorfismo).