Uma ajudinha, por favor

Comecei estudar Java faz pouco tempo.
Bom, nesse código preciso que isLigado() retorne true se na classe Main for chamado a.ligar() e false se for chamado a.desligar() e se os dois forem chamados juntos, deve haver alguma mensagem de erro… Parece simples, mas eu tô penando kkkk.

Aqui o código: ///Espero estar, pelo menos essa parte certa///

package ProgDisp.Polimorfismo;

public class Veiculo {
    private boolean ligado;
    public String ligar;
    public String desligar;

    public void ligar() {
        this.ligar = ligar;
    }
    public void desligar() {
        this.desligar = desligar;
    }

    public void setLigado(boolean ligado) {
        this.ligado = ligado;
    }

    public boolean isLigado() {
        return ligado;
    }
}
package ProgDisp.Polimorfismo;

public class Automovel extends Veiculo {

    @Override
    public void ligar() {
        System.out.println("O automóvel está ligado.\n" + isLigado());
    }

    @Override
    public void desligar() {
        System.out.println("O automóvel está desligado.\n" + isLigado());
    }

    @Override
    public boolean isLigado() {
        return super.isLigado();
    }
}
package ProgDisp.Polimorfismo;

public class Main {
    public static void main(String[] args) {
        Veiculo a = new Automovel();

        a.ligar();
        a.desligar();
    }
}

:man_facepalming:

Se a variável ligar vai servir para indicar que o veículo está ligado ou não, vc pode declarar como boolean em vez de String. E vc pode manter apenas uma variável para manter esse controle. Assim, quando o carro estiver ligado, o valor de ligar será true e, no caso de desligado, será false.

Veja:

public class Veiculo {
    // ...

    public boolean ligado = false; // iniciamos o carro como desligado por padrão

    public void ligar() {
        this.ligado = true;
    }
    public void desligar() {
        this.ligado = false;
    }

    public boolean isLigado() {
        return this.ligado;
    }

    // ...
}
1 curtida

:man_facepalming::man_facepalming::man_facepalming::man_facepalming::man_facepalming::man_facepalming:
kkkk nossa :sweat_smile:
Muito obrigado, muito obrigado mesmo, vai ser perfeito pro código aqui. :pray::white_heart:

1 curtida