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);
}