class Gerente extends Empregado
{
public Gerente (String _nome, String _secao, double _salario, String _secretaria)
{
super (_nome,_secao,_salario); // Aqui eu chamo a super classe do Gerente
secretaria = _secretaria;
}
public void aumentaSalario (double percentagem)
{
super.aumentaSalario (percentagem+0,5);
}
public String getSecretaria ()
{
return (secretaria);
}
public void setSecretaria (String _secretaria)
{
secretaria = _secretaria;
}
private String secretaria;
}
No programa Gerente o prompt me da um erro na linha “super.aumentaSalario (percentagem+0,5);” dizendo que o “.” de super"."aumentaSalario está com erro. O que pode estar errado?
Alguém tem algum outro(s) exemplo(s) já prontos de Herança para que eu possa estudar melhor cada detalhe?
Ao usares a virgula é como se estivesses a passar dois parametros: percentagem+0 e 5. E não tens nenhum método aumentaSalario na super classe que receba um double e um int.
O que tu queres é
private static void main(String args[]){
Empregado Jose = new Empregado();
Jose.nome=“Jose”;
Jose.secao=“Engenharia”;
Jose.salario=(2000.0);
System.out.println(Jose.salario);
}
}[/code]
Deu erro na linha “Empregado Jose = new Empregado();” o prompt apontou para o “new”.
Agora estou começando a ler a apostila da Caelum, parece mais completa vamos ver se melhora o ensino, a apostila é da Prime Cursos que eu estava lendo, está muito superficial.
Na tua classe empregado tens um construtor que recebe três parâmetros: public Empregado (String _nome, String _secao, double _salario)
Na tua classe main invocas um construtor sem parâmetros: Empregado Jose = new Empregado();
Ou crias um novo construtor, sem parâmetros na classe Empregado, ou utilizas o que já tens, substituindo
Empregado Jose = new Empregado();
Jose.nome="Jose";
Jose.secao="Engenharia";
Jose.salario=(2000.0);
por
Empregado Jose = new Empregado("Jose", "Engenharia", 2000.0);