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

[Projeto] Resolução

import 'dart:io';

class Cliente {
  String nomeCliente;
  final List<String> _quartosReservados = <String>[];

  Cliente(this.nomeCliente);

  void reservarQuarto(String quarto) {
      if(!_quartosReservados.contains(quarto)){
        _quartosReservados.add(quarto);
      } else {
        print("Você já reservou este quarto.");
      }
  }

  void excluirReserva(String quarto) {
    if(_quartosReservados.isNotEmpty && _quartosReservados.contains(quarto)){
      _quartosReservados.remove(quarto);
    } else {
      print("Reserva não existe.");
    }
  }

  void mostrarReservas (Cliente cliente) {
    if(_quartosReservados.isNotEmpty) {
      print("Cliente: ${cliente.nomeCliente}");
      stdout.write("Quartos: ");
      print("Quarto(s): ${_quartosReservados.join(', ')}");
    } else {
      print("Cliente: ${cliente.nomeCliente} | Reserva: Não há reservas no momento");
    }
  }
}
1 resposta
solução!

Olá, Victor Hugo, tudo bem?

Parabéns pela implementação! O seu código está muito bem estruturado e legível.

Gostei bastante de como você tratou as validações nos métodos reservarQuarto e excluirReserva, verificando se o item existe (ou não) na lista antes de realizar a ação.

Continue mergulhando em Dart e Orientação a Objetos!

Bons estudos!

Sucesso

Imagem da comunidade