Crie uma classe lâmpada que possui um atributo estado que pode ser true(a lâmpada está acessa) e false(a lâmpada está apagada). A classe também contém um atributo watts que é inteiro. Escreva dois construtores para a classe: um que recebe como argumentos o número de watts da lâmpada, e outro, sem argumentos, que considera que a lâmpada tem 60 watts por default. Escreva também dois métodos “ligar” e “desligar” que configura a lâmpada como acessa ou apagada. Instancie a classe e teste os métodos.

Passo 1

O enunciado pede para criarmos uma classe chamada Lâmpada que controla dois atributos:
  • um booleano estado que indica se a lâmpada está acesa (true) ou apagada (false);
  • um inteiro watts que armazena a potência da lâmpada.
    Precisamos ainda de dois construtores (um recebendo valor de watts e outro sem argumentos que assume 60 watts) e de dois métodos (ligar e desligar). Por fim, devemos instanciar a classe e testar esses métodos. O conteúdo envolvido é programação orientada a objetos em Java (atributos, construtores, métodos e teste em main).

Passo 2

Definimos a classe com seus atributos e encapsulamento:
public class Lampada {
 private boolean estado; // true = acesa, false = apagada
 private int watts; // potência em watts

Passo 3

Implementamos dois construtores:
  1. Construtor sem argumentos que define watts = 60 e estado = false (lámpada apagada por padrão).
  2. Construtor que recebe um inteiro watts e inicializa estado = false.
 // Construtor default (60 watts)
 public Lampada() {
 this.watts \(=60\);
 this.estado = false;
 }

 // Construtor que recebe potência
 public Lampada(int watts) {
 this.watts = watts;
 this.estado = false;
 }

Passo 4

Criamos os métodos ligar e desligar para alterar o atributo estado, e adicionamos um método toString para facilitar a exibição do status:
 public void ligar() {
 this.estado = true;
 }

 public void desligar() {
 this.estado = false;
 }

 @Override
 public String toString() {
 String situacao = estado ? "acesa" : "apagada";
 return "Lâmpada de " + watts + "W está " + situacao + ".";
 }
}

Passo 5

Instanciamos e testamos os métodos no programa principal (main):
public class Main {
 public static void main(String[] args) {
 // Lâmpada padrão: 60W
 Lampada l\(1=\) new Lampada();
 System.out.println(l1); // deve mostrar "apagada"
 l1.ligar();
 System.out.println(l1); // agora deve mostrar "acesa"

 // Lâmpada de 100W
 Lampada l\(2=\) new Lampada(100);
 System.out.println(l2); // "apagada"
 l2.ligar();
 System.out.println(l2); // "acesa"
 l2.desligar();
 System.out.println(l2); // de volta a "apagada"
 }
}

Resposta

public class Lampada {
 private boolean estado;
 private int watts;

 public Lampada() {
 this.watts \(=60\);
 this.estado = false;
 }

 public Lampada(int watts) {
 this.watts = watts;
 this.estado = false;
 }

 public void ligar() {
 this.estado = true;
 }

 public void desligar() {
 this.estado = false;
 }

 @Override
 public String toString() {
 String situacao = estado ? "acesa" : "apagada";
 return "Lâmpada de " + watts + "W está " + situacao + ".";
 }
}

public class Main {
 public static void main(String[] args) {
 Lampada l\(1=\) new Lampada();
 System.out.println(l1);
 l1.ligar();
 System.out.println(l1);

 Lampada l\(2=\) new Lampada(100);
 System.out.println(l2);
 l2.ligar();
 System.out.println(l2);
 l2.desligar();
 System.out.println(l2);
 }
}

Exercícios relacionados