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

Faça como eu fiz: praticando os conceitos

codigo:

void main() {
  escolheMeioTransporte(Transporte.aviao);

  Set<String> locaisVisitados = <String>{};
  locaisVisitados = registrarDestinos("São Paulo", locaisVisitados);
  locaisVisitados = registrarDestinos("Minas Gerais", locaisVisitados);

  Map<String, double> registrarPrecos = {};

  var SP = registrarPrecos["Sao Paulo"] = 1200;
  var RJ = registrarPrecos["Rio de Janeiro"] = 1500;
  var MG = registrarPrecos["Minas Gerais"] = 1300;

  Pessoa pessoa01 = Pessoa("Natallia", 23, MG + SP , locaisVisitados);
  print(pessoa01.toMap());
  print('A viagem para São Paulo custou ${SP}');
  print('A viagem para Minas Gerais custou ${MG}');
  print('Codigo de Desconto:${Viagem.codigoDesconto}');
  print('Com o codigo de desconto o valor seria:${Viagem.preco(MG + SP)}');
}

Set<String> registrarDestinos(String destino, Set<String> locais) {
  locais.add(destino);
  return locais;
}

class Viagem{
  static String codigoDesconto = 'ASKMDK3';
  double dinheiro;

  Viagem(this.dinheiro);

  static double preco(double dinheiro){
    double desc = 0.50;
    return dinheiro * desc;
  }

}

class Pessoa {
  String nome;
  int idade;
  double passagem;
  dynamic lugares;

  Pessoa(this.nome, this.idade, this.passagem, this.lugares);

  Map<String, dynamic> toMap() {
    return {
      "nome": nome,
      "idade": idade,
      'passagens': passagem,
      "lugares": lugares
    };
  }
}

void escolheMeioTransporte(Transporte locomocao) {
  switch (locomocao) {
    case Transporte.carro:
      print("Vou de CARRO para aventura!");
      break;
    case Transporte.bike:
      print("Vou de BIKE para aventura!");
      break;
    case Transporte.skate:
      print("Vou de SKATE para aventura!");
      break;
    case Transporte.aviao:
      print("Vou de AVIÃO para aventura!");
      break;
    case Transporte.patins:
      print("Vou de PATINS para aventura!");
      break;
    case Transporte.trem:
      print("Vou de TREM para aventura!");
      break;
    default:
      print("Estou indo para aventura, isso que importa");
  }
}

enum Transporte {
  carro,
  bike,
  andando,
  skate,
  aviao,
  patins,
  trem,
}

resultado: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

Oi Roberto, tudo bem?

Parabéns pela resposta! Você demonstrou um ótimo entendimento do uso de funções, conjuntos (Set) e mapas (Map) para registrar informações sobre viagens e destinos. A utilização de classes e enums para representar uma pessoa, uma viagem e meios de transporte é bastante clara.

E você usou corretamente os conceitos de métodos estáticos e propriedades estáticas em sua classe Viagem.

Continue praticando e aprimorando suas habilidades em programação!

Um abraço e bons estudos.