transporte.dart
enum Transporte { carro, bike, onibus, andando, skate, aviao, patins, trem }
viagem.dart
import 'transporte.dart';
class Viagem {
static String codigoTrabalho = 'ALR007';
double dinheiro = 0;
int _totalLocaisVisitados = 0;
Transporte locomocao;
Set<String> registrosVisitados = <String>{};
Map<String, dynamic> registrarPrecos = {};
Viagem(this.locomocao);
void escolherMeioTransporte(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.onibus:
print('Vou de busão para aventura.');
break;
case Transporte.aviao:
print('Vou de avião para aventura.');
break;
case Transporte.trem:
print('Vou de trem para aventura.');
break;
default:
print('Vou para aventura, isso é o que importa.');
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 consultarTotalLocaisVisitados {
return _totalLocaisVisitados;
}
set alterarLocaisVisitados(int novaQnt) {
if (novaQnt < 10) {
_totalLocaisVisitados = novaQnt;
} else {
print('Não é possível visitar tantos lugares em tão pouco tempo.');
}
}
}
dart_sintaxe.dart
import 'viagem.dart';
import 'transporte.dart';
void main() {
Viagem viagemHoje = Viagem(Transporte.onibus);
print('Código de trabalho: ${viagemHoje.returnCodigo}');
viagemHoje.escolherMeioTransporte(viagemHoje.locomocao);
viagemHoje.visitar('Brasília');
viagemHoje.registrarPrecoVisita("Brasília", 500);
viagemHoje.visitar('Rio de Janeiro');
viagemHoje.registrarPrecoVisita('Rio de Janeiro', 700);
print(viagemHoje.registrosVisitados);
print(viagemHoje.registrarPrecos);
print(viagemHoje.consultarTotalLocaisVisitados);
viagemHoje.alterarLocaisVisitados = 100;
print(viagemHoje.consultarTotalLocaisVisitados);
}
Resultado do código dart_sintaxe.dart: