1
resposta

Instanciar ControleBonificação

Boa tarde,

Estou no terceiro curso de JAVA e nessa parte de herança começou a dar uma complicada (rsrsrs), nós criamos uma classe controle de bonificação para somar as bonificações e uma Autentica para autenticar a senha, segue:

public class ControleBonificacao {

    private double soma;

    public void registra(Funcionario funcionario) {
        double bonificacao = funcionario.getBonificacao();
        this.soma = this.soma + bonificacao;
    }

    public double getSoma() {
        return soma;
    }

}

e

public abstract class Autenticacao extends Funcionario {
    private int senha;


    public void setSenha(int senha) {
        this.senha = senha;
    }
    public int getSenha() {
        return senha;
        }

    public boolean autentica(int senha) {
        if(this.senha == senha) {
            System.out.println("senha correta");
            return true;
        }else
            System.out.println("senha incorreta");
            return false;
    }


}

Minha dúvida é, no caso do Controle de bonificação, temos que instanciar ele toda vez que formos usar, mas fizemos o autenticador de senha de forma abistrata, não instanciamos, não daria pra fazer o controle sem precisar instanciar também? Se não, porque não dá?

1 resposta

Lucas lembre-se que o motivo de não existir uma instância de classes abstratas é simplesmente pq elas não podem existir, se você tentar fazer isso dá um erro de compilação e no caso do autenticador com certeza há uma classe que faz um "extends" dela e é instanciada normalmente para que você possa usa-la.

Após fazer os cursos básicos de Java você vai começar a ver um pouco de CDI que eu não vou explicar exatamente o que é agora pq no seu momento atual não vem muito ao caso, mas saiba que quando começar a ver esse seu desconforto em ficar instanciando objetos toda hora vai acabar :)

Aguente firme e bons estudos.