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

Dúvida no Ex. 1 da Aula 1 - Herança, reescrita e polimorfismo

Alguém poderia ajudar ??

class Conta {
    private double saldo;

    public double getSaldo() {
        return this.saldo;
    }

    public void deposita(double valor) {
        this.saldo += valor;
    }

    public void saca(double valor) {
        this.saldo -= valor;
    }
}


class Funcionario {

        public static void main(String[] args){
        Funcionario joao = new Funcionario();
        joao.setSaldo(100.0);

        joao.setDeposita(1000.0);

        System.out.println(joao.getSaldo());

    }    
}
8 respostas

Boa noite, Leandro! Como vai?

Qual é a sua dúvida?

Leandro qual seria sua dúvida ou problema ? No conte para que possamos lhe ajudar.

Boa noite, está dando esses 3 erros abaixo, e não sei como resolver.

  symbol:   method setSaldo(double)
  location: variable joao of type Funcionario
Conta.java:24: error: cannot find symbol
                joao.setDeposita(1000.0);
                    ^
  symbol:   method setDeposita(double)
  location: variable joao of type Funcionario
Conta.java:26: error: cannot find symbol
                System.out.println(joao.getSaldo());
                                       ^
  symbol:   method getSaldo()
  location: variable joao of type Funcionario
3 errors

Boa noite, Leandro! Como vai?

Repare que vc está criando um funcionário e depois está usando métodos (setSaldo, setDeposita e getSaldo) que não existem na classe Funcionario.

Grande abraço!

Boa noite Gabriel, tudo bom ?

Poderia por gentileza mostrar como deveria ser essa classe Funcionário ?

solução!

Observando o código que vc fez, o que parece é que vc queria um objeto Conta em vez de Funcionario. Então o primeiro passo seria fazer:

Conta conta = new Conta();

Além disso, se sua intenção é usar o setSaldo vc tbm irá precisar criar esse método na classe Conta pq ele não existe até o momento.

Sua classe Funcionario ficaria mais ou menos assim:

class Funcionario {
    public static void main(String[] args) {
        Conta conta = new Conta();
        //restante do código...
    }    
}

Dica: Na sua classe Funcionario o que aparentemente vc está querendo fazer é testar o funcionamento da sua classe Conta. Dessa forma, faz sentido que o nome da classe seja algo que deixe o que vc pretende fazer dentro dala. Dar bons nomes bons nomes para classes, atributos, variáveis e métodos é uma boa prática em programação!

Exemplo nesse caso:

class TestaConta {
    public static void main(String[] args) {
        Conta conta = new Conta();
        //restante do código...
    }    
}

Grande abraço!

Obrigado Gabriel.

Por nada, Leandro!

Bons estudos!