1
resposta

[Projeto] Controle de dispositivos

package AutomacaoResidencial;

public interface Controlavel {
    void ligar();
    void desligar();
}
package AutomacaoResidencial;

public class Luz implements Controlavel{

    private boolean ligado = false;

    @Override
    public void ligar() {
        if (ligado){
            System.out.println("Luz já está ligada.");
        }else {
            ligado = true;
            System.out.println("Luz ligada");
        }
    }

    @Override
    public void desligar() {
        if (!ligado){
            System.out.println("Luz já está desligada.");
        }else {
            ligado = false;
            System.out.println("Luz desligada");
        }
    }
}
package AutomacaoResidencial;

public class ArCondicionado implements Controlavel{

    private boolean ligado = false;

    @Override
    public void ligar() {
        if (ligado){
            System.out.println("Ar condicionado já está ligado.");
        }else {
            ligado = true;
            System.out.println("Ar condicionado ligado");
        }
    }

    @Override
    public void desligar() {
        if (!ligado){
            System.out.println("Ar condicionado já está desligado.");
        }else {
            ligado = false;
            System.out.println("Ar condicionado desligado");
        }
    }
}
package AutomacaoResidencial;

public class Main {
    static void main(String[] args) {
        Luz luz = new Luz();
        ArCondicionado arCondicionado = new ArCondicionado();

        luz.ligar();
        luz.desligar();

        arCondicionado.desligar();
        arCondicionado.ligar();
    }
}
1 resposta

Oi, Gabriel! Como vai?

A forma como você aplicou a interface Controlavel nas classes Luz e ArCondicionado ficou perfeita. Você estruturou bem o uso de herança e polimorfismo, além de controlar o estado com o atributo ligado, o que deixa o comportamento bem claro e organizado.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!