public class PessoaPolitico extends Pessoa implements AcaoPessoa{ private String numeroPolitico; public String getNumeroPolitico() { return numeroPolitico; } public void setNumeroPolitico(String numeroPolitico) { this.numeroPolitico = numeroPolitico; } @Override public String gerarMensagem() {return null;} @Override public int calculaTempo(char sexo, int idade, int tempoTrabalho) { int retTempo = 0; if (sexo == 'M') { retTempo = 15 - tempoTrabalho; } else if (sexo == 'F') { retTempo = 10 - tempoTrabalho; } return retTempo; } @Override public int calculaIdade(char sexo, int idade, int tempoTrabalho) { int retIdade = 0; if (sexo == 'M') { retIdade = idade + (15 - tempoTrabalho); } else if (sexo == 'F') { retIdade = idade + (10 - tempoTrabalho); } return retIdade; } public String geraMensagem(PessoaPolitico pessoaPolitico) { String retorno = ""; String tempoAposentar = String.valueOf(pessoaPolitico.calculaTempo(pessoaPolitico.getSexo(), pessoaPolitico.getIdade(), pessoaPolitico.getTempoTrabalho())); String tempoIdade = String.valueOf(pessoaPolitico.calculaIdade(pessoaPolitico.getSexo(), pessoaPolitico.getIdade(), pessoaPolitico.getTempoTrabalho())); retorno = "Sr(a) "+ pessoaPolitico.getNome() +" hoje você tem "+ pessoaPolitico.getIdade() +" anos e "+ pessoaPolitico.getTempoTrabalho()+" anos "+ "de trabalho, a previsão é que você se aposente em "+ tempoAposentar +" anos, você terá "+ tempoIdade +" anos! \n"; return retorno; } } -------------------------------------------------------------------------------------- public abstract class Pessoa { protected String nome; protected int idade; protected int tempoTrabalho; protected char sexo; public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public int getIdade() { return idade; } public void setIdade(int idade) { this.idade = idade; } public int getTempoTrabalho() { return tempoTrabalho; } public void setTempoTrabalho(int tempoTrabalho) { this.tempoTrabalho = tempoTrabalho; } public char getSexo() { return sexo; } public void setSexo(char sexo) { this.sexo = sexo; } } ------------------------------------------------------------------------ public interface AcaoPessoa { String gerarMensagem(); int calculaTempo(char sexo, int idade, int tempoTrabalho); int calculaIdade(char sexo, int idade, int tempoTrabalho); } -------------------------------------------------------------------------------- public class PessoaCLT extends Pessoa implements AcaoPessoa{ private String numeroCLT; public String getNumeroCLT() { return numeroCLT; } public void setNumeroCLT(String numeroCLT) { this.numeroCLT = numeroCLT; } @Override public String gerarMensagem() {return null;} @Override public int calculaTempo(char sexo, int idade, int tempoTrabalho) { int retTempo = 0; if (sexo == 'M') { if (tempoTrabalho < 30) { retTempo = 30 - tempoTrabalho; } if (retTempo + idade > 65) { retTempo = 65 - idade; } } else if (sexo == 'F') { if (tempoTrabalho < 25) { retTempo = 25 - tempoTrabalho; } } return retTempo; } @Override public int calculaIdade(char sexo, int idade, int tempoTrabalho) { int retIdade = 0; if (sexo == 'M') { retIdade = idade + (30 - tempoTrabalho); if (retIdade > 65) { retIdade = 65; } } else if (sexo == 'F') { retIdade = idade + (25 - tempoTrabalho); if (retIdade > 55) { retIdade = 55; } } return retIdade; } public String gerarMensagem(PessoaCLT pessoaCLT) { String retorno = ""; String tempoAposentar = String.valueOf(pessoaCLT.calculaTempo(pessoaCLT.getSexo(), pessoaCLT.getIdade(), pessoaCLT.getTempoTrabalho())); String tempoIdade = String.valueOf(pessoaCLT.calculaIdade(pessoaCLT.getSexo(), pessoaCLT.getIdade(), pessoaCLT.getTempoTrabalho())); retorno = "Sr(a) "+ pessoaCLT.getNome() +" hoje você tem "+ pessoaCLT.getIdade() +" anos e "+ pessoaCLT.getTempoTrabalho()+" anos "+ "de trabalho, a previsão é que você se aposente em "+ tempoAposentar +" anos, você terá "+ tempoIdade +" anos! \n"; return retorno; } }