Como add na classe?

2 respostas
A

+mestrado : boolean
+doutorado : boolean
-Professor terá um método diferente para calcular o salário, além do calculo padrão de salário (dias * valorDias da superclasse) deverá verificar o seguinte:
+se o professor possuir mestrado, acrescentar ao salário uma quantia de 100.
+se o professor possuir doutorado, acrescentar ao salário uma quantia de 200.

classe professor

public class Professor extends Pessoa {
	    //### ATRIBUTOS ###
	    private String carteiraTrabalho;

	    //### CONSTRUTORES ###
	    /**
	     * aqui, implicitamente o Java adiciona uma chamada a super(), que é a 
	     * primeira ação que o método construtor realiza
	     * @param carteiraTrabalho
	     */
	    public Professor(String carteiraTrabalho) {
	        this.carteiraTrabalho = carteiraTrabalho;
	    }

	    //### GETTERS e SETTERS ###
	    /**
	     * @return
	     */
	    public String getCarteiraTrabalho() {
	        return carteiraTrabalho;
	    }

	    /**
	     * @param carteiraTrabalho
	     */
	    public void setCarteiraTrabalho(String carteiraTrabalho) {
	        this.carteiraTrabalho = carteiraTrabalho;
	    }
	    
	}

uma duvida boolean igual true ou false?
me ajudam obrigado…

2 Respostas

C

Certo.
Para entender algo a mais: http://www.arquivodecodigos.net/dicas/java-o-tipo-de-dados-boolean-e-seus-usos-2124.html

tguerra

Oi, alichicao.

Melhor explicação sobre booleanos do que aqui não tem.

Porém, a minha dúvida nesse teu exercício é se você reamente tem que utilizar booleanos para o mestrado e doutorado, fica extremamente confuso. E da onde vem o calculaSalario? Ele não vem da classe Funcionario? Por que você extende Pessoa, então?
public class Professor extends Pessoa {
Enfim, tirando as minhas dúvidas quanto a coesão e clareza da tua implementação, aqui estão as modificações: - Agora a classe Professor extende Funcionario, senão não tem acesso ao salário, entende? - Adicionei dois atributos boolean, como você pediu, um chamado mestrado e outro doutorado; - Quando você cria o Professor o construtor válida o grau (se é Mestrado ou Doutorado) atribuindo TRUE para o grau informado; - Essa atribuição é o que difere o método double calculaSalario, pois ele possui cálculos diferentes para quem possuir mestrado ou doutorado. Classe Professor modificada:
public class Professor extends Funcionario{
    private String carteiraTrabalho;
    private boolean mestrado = false;
    private boolean doutorado = false;

    public Professor(String carteiraTrabalho, String grau) {
        this.carteiraTrabalho = carteiraTrabalho;
        if(grau.equalsIgnoreCase("Mestrado")){ mestrado = true;}
        if(grau.equalsIgnoreCase("Doutorado")){ doutorado = true;}        
    }

    public String getCarteiraTrabalho() {     
    	return carteiraTrabalho;    
    }

    public void setCarteiraTrabalho(String carteiraTrabalho) {
    	this.carteiraTrabalho = carteiraTrabalho;
    }
    
    public double calculaSalario(int valorDias){
    	
    	if(mestrado){
    		salario = salario +100;
    		return salario * valorDias;
    	}
    	else if(doutorado){
    			return (salario+200)*valorDias;
    	}
    	else 
    		return (salario+200) * valorDias;
    }
}
Classe Main modificada:
public class Main {  
       
     public static void main(String[] args) {  
   
 
    	 Professor professor1 = new Professor("001","Mestrado");
    	 Professor professor2 = new Professor("002","Doutorado");
         Scanner entrada = new Scanner(System.in); 
         
         int valorDia = 0;
         double resultado; 
     
         System.out.println("Entre com o número de dias que o professor com MESTRADO trabalhou: ");
         valorDia = entrada.nextInt();
         resultado = professor1.calculaSalario(valorDia);
         System.out.println("Salario calculado = " + resultado);     
         
         System.out.println("\nEntre com o número de dias que o professor com DOUTORADO trabalhou: ");
         valorDia = entrada.nextInt();
         resultado = professor2.calculaSalario(valorDia);
         System.out.println("Salario calculado = " + resultado);     
     }  
 }
Criado 21 de outubro de 2011
Ultima resposta 21 de out. de 2011
Respostas 2
Participantes 3