1
resposta

Resposta do exercicio!

viagem.dart

import 'transportes.dart';

class Viagem {
  static String codigoTrabalho = 'DDJ293KX';
  double dinheiro = 0;
  int _totalLocaisVisitados = 0;
  Transportes locomocao;
  Set<String> registrosVisitados = <String>{};
  Map<String, dynamic> registrarPrecos = {};

  Viagem(this.locomocao);

  escolherTransporte(Transportes meio) {
    switch (meio) {
      case Transportes.carro:
        print('Vou de carro');
        break;
      case Transportes.moto:
        print('Vou de moto');
        break;
      case Transportes.quadriciclo:
        print('Vou de quadriciclo');
        break;
      case Transportes.bicicleta:
        print('Vou de bike');
        break;
      case Transportes.skate:
        print('Vou de skate');
        break;
      case Transportes.patins:
        print('vou de patins');
        break;
      default:
        print('vou de qualquer jeito');
        break;
    }
  }

  void visitar(String localVisita) {
    registrosVisitados.add(localVisita);
    _totalLocaisVisitados++;
  }

  void registrarPrecoVisita(String local, dynamic preco) {
    registrarPrecos[local] = preco;
  }

  String get returnCodigo {
    return codigoTrabalho;
  }

  int get consultarLocaisVisitados {
    return _totalLocaisVisitados;
  }

  set alterarLocaisVisitados(int novaQnt) {
    if (novaQnt < 10) {
      _totalLocaisVisitados = novaQnt;
    } else {
      print('Não é possível visitar tantos locais');
    }
  }
}

main.dart

import 'transportes.dart';
import 'viagem.dart';

void main() {
  Viagem viagem1 = Viagem(Transportes.carro);
  print('codigo de trabalho: $viagem1.returnCodigo');
  viagem1.escolherTransporte(viagem1.locomocao);
  viagem1.visitar('brasilia');
  viagem1.registrarPrecoVisita('brasilia', 600);
  viagem1.visitar('rio de janeiro');
  viagem1.registrarPrecoVisita('rio de janeiro', 700);
  print(viagem1.registrosVisitados);
  print(viagem1.registrarPrecos);
  print(viagem1.consultarLocaisVisitados);
  viagem1.alterarLocaisVisitados = 20;
  print(viagem1.consultarLocaisVisitados);
}

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

1 resposta

Oi Vitor, tudo bem?

Ótimo trabalho! Sua resposta demonstra uma compreensão clara da estrutura de classes e métodos.

Você eficientemente usou propriedades, métodos e estruturas de controle como switch e set. Além disso, a modularização do código em diferentes arquivos mostra boa organização.

Continue praticando e explorando a programação orientada a objetos!

Um abraço e bons estudos.