Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida Interface/Herança

Olá

Tenho dúvidas! Criei a seguinte classe e gostaria de implementar interface para gerar a senha, mas quando dou sysout imprime "geradordesenha@15db9742", segue código:

public class Pessoa_Fisica extends Conta implements gerador_senha {
    private String nome;
    private int    idade;
    private double CPF;
    private geradordesenha senha;


    /*** inicição da classe ***/
    public Pessoa_Fisica () {
        this.senha = new geradordesenha();    
    }


    /*** teste interface ***/
    public void setsenha(int senha) {
        this.senha.chamasenha(senha);
    }

    public geradordesenha getsenha() {
        return this.senha;
    }

onde

public interface gerador_senha {
        public abstract void setsenha(int senha);
        }
public class geradordesenha {
    int rand;

    public void chamasenha(int senha) {
        this.rand = senha;
    }
}

Ae para imprimir so fiz

... código com mais testes...
        teste.setsenha(42);
        System.out.println(teste.getsenha());

Por que a senha não está sendo setada? Onde eu errei? Desde já agradeço pela força!

2 respostas

Oi Danilo tudo bem?

Poderia, por gentileza, colocar seu projeto no github. Assim poderemos analisar melhor.

solução!

Boa tarde, Danilo! Como vai?

A impressão sai dessa forma pelo motivo que eu expliquei nesse outro tópico!

Um outro detalhe importante é que no Java a boa prática é nomear nossas interfaces e classes sempre com a primeira palavra começando com letra maiúscula e quando for o caso de uma palavra composta, a segunda palavra também começa com letra maiúscula! Além disso, não se deve utilizar underline para separar as palavras compostas!

Exemplos de aplicação das boas práticas de nomenclatura para classes e interfaces:

Pessoa, PessoaFisica, PessoaJuridica, GeradorSenha

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!