Trabalho a ser desenvolvido em duplas. Cada dupla deve entregar um arquivo ZIP com os códigos em JAVA e um texto chamado readme.txt com o nome da equipe. O projeto deve ser desenvolvido utilizando a IDE Netbeans.
Você foi contratado para desenvolver um sistema orientado a objetos para uma Academia. Para tal projeto iremos utilizar a linguagem de programação Java. A Academia deseja evoluir o sistema portante faça a abstração e uma representação com baixo acoplamento e alta coesão.
- A Academia quer gerenciar seus instrutores e os treinos dos alunos.
- A academia guarda as informações como Nome, CPF, RG, Carteira de Trabalho e carga horária de cada instrutor.
- Cada Cliente tem Nome, CPF, RG e horário de treino.
- Para cada cliente são armazenadas as informações do treino.
- Cada treino consiste em uma atividade física que tem um número de repetições, um peso e nome Ex: Costas 30 repetições 20 kilos.
- Cada treinador tem um ou mais clientes
- Cada cliente tem uma ou mais atividades físicas em um treino.
- Utilize uma classe abstrata para generalizar o conceito de pessoa;
- Faça o Cliente e o Treinador herdarem desta classe abstrata (Pessoa);
- Crie um método para exibir o número de treinadores da academia;
- Desenvolva um método para exibir o total de clientes da academia;
- Implemente um método para exibir o total de clientes por treinador;
- Crie um método para associar um cliente a um treinador
- Crie um método para adicionar uma atividade física no treino do cliente
- Implemente um método para trocar o treinador do cliente
- Implemente um método para ver qual o cliente que puxa mais peso e qual a média de peso (exercício) dos alunos da academia.
- Utilize a classe ArrayList no projeto conforme achar mais adequado.
- Crie um método para iniciar um modelo de treino para iniciantes. O método define um treino básico para o cliente (modelo) con N atividades físicas;
Lembre-se: Encapsule os atributos e as regras. Crie construtores conforme necessário. Ao final fazer um PSVM para inicializar os objetos, cadastrar treinador, cadastrar cliente e os treinos. Como a camada de apresentação (web mobile ou desktop) não foi definida implemente o PSVM para testar seus métodos.