Herança e set

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; }
}
}

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

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

Complementando a mensagem do peczenyj ,

[code] public static void main(String[] args) {

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

} [/code]

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

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.

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

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 ???

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.