Conteúdo estudado no curso Dart: sintaxe, coleções e dinamismo, ensinado pelo instrutor Ricarth Lima na plataforma Alura.
- Sintaxe: Como usar a os conceitos de sintaxe do Dart em um código assertivo;
enum
: Como criar um Enumerador, para tornar as comparações mais legíveis e eficientes;switch
: Como usar a estrutra condicional Switch-Case para comparações;set
: Como usar uma coleção que se comporta como uma lista onde os elementos não se repetem;map
: Como usar uma coleção na estrutura de "chave" e "valor";_
: Como tornar privada uma propriedade de uma classe;get
: Como criar um Getter de acesso à propriedades privadas;set
: Como criar um Setter para modificação de propriedades privadas.
Sintaxe são normas de uma linguagem de ditam como deve ser escrita (ordem e como deve ser escrito) e palavras chaves/reservadas.
Semântica se trata da lógica, devendo sempre ser não-ambígua.
Enums (enumeradores) são tipos de dados identificadores que são criados por nós. Exemplo de transportes:
enum Transporte {
carro,
bike,
andando,
skate,
aviao,
patins,
trem,
}
Switch Case é uma estrutura condicional que compara um elemento com determinadas opções e executa uma instrução para a entrada compatível.
switch (locomocao) {
case Transporte.bike:
print("Vou de BIKE para a aventura!");
break;
case Transporte.carro:
print("Vou de CARRO para a aventura!");
break;
default:
print("Vou para a aventura");
break;
}
Set é um conjunto que não pode possuir elementos repetidos.
Set<String> registrosVisitados = <String>{};
⚠️ Iterable é uma classe abstrada que é implementada tanto porset
quanto porlist
.
Um map é uma estrutura que possui um conjunto de chaves e um valores, bastante utilizado no consumo de APIs, por exemplo.
//MAP:
Map<String, double> registrarPrecos = {};
// criando e atribuindo
registrarPrecos["São Paulo"] = 1200;
registrarPrecos["Rio de Janeiro"] = 1500;
print(registrarPrecos);
// verirficando valores com a chave
print(registrarPrecos["São Paulo"]);
print(registrarPrecos["Tocantins"]);
// Deletando
registrarPrecos.remove("São Paulo");
print(registrarPrecos);
✨ Sobre o
list
no Dart.
Dynamic
é um tipo de variável que mesmo após ser atribuído o tipo, ainda pode ser alterada em tempo de execução (diferente do tipo var
que após o tipo ser definido não pode mais mudar).
Uma variável do tipo static
criada dentro de uma classe pode ser acessada mesmo que o objeto desta classe ainda não tenha sido instanciado. Por exemplo:
void main() {
print(Viagem.codigoTrabalho);
}
class Viagem {
static String codigoTrabalho = "CODIGOQUALQUER";
}
Utilizando o encapsulamento gerenciamos permissões dentro do códido, dessa maneira os dados podem ser públicos ou privados. Exemplo de getter
e setter
, usados para buscar e setar um dado privado dentro de uma classe, respectivamente.
Getter
int get consultarTotalLocaisVisitados {
return _totalLocaisVisitados;
}
Setter
set alterarLocaisVisitados(int novaQnt) {
novaQnt < 10 ? _totalLocaisVisitados = novaQnt : print("Não é possível.");
}
Para executar qualquer um dos códigos você pode clonar o repositório, abrir a pasta do projeto e executar o arquivo .dart
:
git clone https://github.com/jhoisz/Dart_OO
cd Dart_OO/bin
dart nomeDoCodigo.dart