1
resposta

lista de exercícios_ServicoUsuario

void main() {
  ServicoUsuario usuarioAndre = ServicoUsuario('admin');
  ServicoUsuario usuarioMarcos = ServicoUsuario('convidado');
  ServicoProduto usuarioAntonio = ServicoProduto('admin');
  ServicoProduto usuarioMarta = ServicoProduto('convidado');

  usuarioAndre.deletarUsuario();
  usuarioMarcos.deletarUsuario();
  usuarioAntonio.adicionarProduto();
  usuarioMarta.adicionarProduto();
}

abstract class Usuario {
  String user;

  Usuario(this.user);
}

mixin ControleAcesso {
  void verificarPermissaoAdmin(String papel) {
    if (papel == 'admin') {
      print('Acesso permitido');
    } else {
      print('Acesso negado');
    }
  } 
}

class ServicoUsuario extends Usuario with ControleAcesso {
  ServicoUsuario(super.user);

  void deletarUsuario() {
    verificarPermissaoAdmin(user);    
  }
}

class ServicoProduto extends Usuario with ControleAcesso {
  ServicoProduto(super.user);

  void adicionarProduto() {
    verificarPermissaoAdmin(user);
  }
}
1 resposta

Olá, Luís, como vai?

Seu código está funcional e bem alinhado com os objetivos do exercício. A estrutura com mixin para controle de acesso está implementada corretamente, e as classes ServicoUsuario e ServicoProduto utilizam esse recurso de maneira adequada.

Obrigado por ter compartilhado sua solução aqui no fórum. É muito bom ver sua participação. Continue trazendo seus códigos e dúvidas, isso ajuda muito no seu aprendizado e também contribui para a comunidade. O fórum está sempre à disposição.

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