Herança e set

6 respostas
MZilli

estou estudando com um amigo a linguagem JAVA . Estamos super animados com uma apostila da Caelum que tem sido otima.
Mas num exercicio de HERANÇA empacamos…
A teoria tá joinha… mas na compilação emperrou.
Vou postar os codigos a seguir mas antes informar o erro.

Ao compilar o TestaGerente deu o seguinte…

javac TestaGerente.java

TestaGerente.java:6: cannot find symbol

symbol  : method setNome(java.lang.String)

location: class Gerente

ger.setNome(JoÒo da Silva);

^

TestaGerente.java:7: cannot find symbol

symbol  : method setSenha(int)

location: class Gerente

ger.setSenha(4231);  }

^

2 errors

Os codigos são…
class TestaGerente
{

public static void main(String[] args) {

Gerente ger = new Gerente();

ger.setNome(João da Silva);

ger.setSenha(4231);  }

}

class Funcionario {

// atributo protected só acessado (visível) pela própria classe ou suas subclasses

protected  String nome;

protected  String cpf;

protected  double salario;

// métodos devem vir aqui

}

class Gerente extends Funcionario {

int Senha;

public boolean autentica(int senha) {

if (this.Senha == senha) {

System.out.println(Acesso Permitido!);

return true;}

else {

System.out.println(Acesso Negado!);

return false;    }

}

}

6 Respostas

peczenyj

Os getters /setters para nome e senha estão aonde ?

E tente usar as tags [CODE ] [/CODE ] :wink:

berg.pb

Complementando a mensagem do peczenyj ,

public static void main(String[] args) {

Gerente ger = new Gerente();
ger.setNome("João da Silva");
ger.setSenha(4231); }

}

vc ta chamando a função 'ger.setNome' e 'ger.setSenha'. Talvez o erro esteja aí. Bem, pelo menos no código q vc postou aqui, não estão presentes as funções.

Então, como chamar uma função que não existe??

Abraços

bruno.leite

Mais uma observação:

Atributos/Métodos protected são visíveis pela própria classe, por classes do mesmo pacote e por suas subclasses.

m0ska

c tá chamando um método que não existe. :-o

MZilli

okokokok a todos… faltou o metodo…

Peczehhhh é mesmo faltou o getter / setter.

Pra mim um velhaco da programaçao estruturada e ainda com teias nos neuronios apos anos (quase decada) a nao programar… já viu.

Mas como a gente sempre aprende, ou duvida do q vê…

Eu ainda tenho uma duvida q reflete a de muitos, e nao encontrei no googleeee quem esclarecesse…

Qdo usar ou nao CORRETAMENTE o getter / setter ???

m0ska

Geralmente se usam getters and setters quando um atributo vai ser utilizado por outra classe, isto é utilizado como uma boa prática, por que se um dia você pode encapsular algo dentro do get ou set.

Pra os atributos que não vão ser utilizados por outras classes e não precisam de ecapsulamento, pode usar sem get ou set mesmo.

Criado 26 de agosto de 2008
Ultima resposta 29 de ago. de 2008
Respostas 6
Participantes 5