Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

oi esse codigo não ta funcionando na classe gerente ,e quando declaro outras variveis.

public double getBonificacao(){ return this.salario * 0.5; }

    esse codigo qual erro?
    não aparece funcionario e na classe editor de video, ja fiz extends e nada 
    public class Testedereferencia  {

    public static void main(String[] args, double salario) {

            Funcionario g = new Gerente();
            g.setNome("Marcos");
            g.setSalario(5000);



            Funcionario f = new Funcionario();
            f.setSalario(2000);

            Funcionario editor = new EditorVideo();
            editor.setSalario(1000);

            ControleBonificacao controle = new ControleBonificacao();
            controle.registra(g);
            controle.registra(f);
            controle.registra(editor);

            System.out.println(controle.getSoma());

    }
1 resposta
solução!

Oi Guilherme, tudo bem?

Desculpe a demora em retornar.

Pelo que entendi do seu código, você está tendo problemas para chamar a classe Gerente, e também está declarando outras variáveis sem sucesso. Vamos analisar cada um dos problemas.

Começando pela classe Gerente, o método getBonificacao() parece estar correto. No entanto, é necessário verificar se a classe Gerente está sendo corretamente implementada, com as propriedades e métodos necessários. Certifique-se de que está fazendo a herança correta e de que as propriedades e métodos necessários estão presentes na classe Gerente.

Quanto à declaração de outras variáveis, note que na classe Testedereferencia, o método main deve receber um array de strings como parâmetro, mas você está passando também um parâmetro do tipo double. Remova esse parâmetro que não é necessário e tente novamente. Além disso, verifique se as classes Funcionario, EditorVideo e Gerente possuem os métodos e propriedades necessários.

Veja um exemplo de como a classe Gerente poderia ser implementada:

public class Gerente extends Funcionario {
    private double salario;
    private String nome;

    //construtor da classe
    public Gerente(String nome, double salario) {
        this.nome = nome;
        this.salario = salario;
    }

    //implementação do método abstrato de Funcionario
    public double getBonificacao() {
        return this.salario * 0.5;
    }

    //getters e setters
    public void setSalario(double salario) {
        this.salario = salario;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public double getSalario() {
        return salario;
    }

    public String getNome() {
        return nome;
    }
}

Observe que a classe Gerente herda da classe Funcionario e implementa o método abstrato getBonificacao(). Além disso, foram adicionados os getters e setters para as propriedades da classe.

Espero que essas dicas ajudem a solucionar o problema no seu código. Lembre-se sempre de verificar se as classes estão sendo corretamente implementadas e se os métodos e propriedades necessários estão presentes.

Um abraço e bons estudos.