Skip to content

Instantly share code, notes, and snippets.

@ulisseshen
Created March 7, 2023 01:59
Show Gist options
  • Save ulisseshen/c5965aaa81d0e93c4cdf6402b44ea190 to your computer and use it in GitHub Desktop.
Save ulisseshen/c5965aaa81d0e93c4cdf6402b44ea190 to your computer and use it in GitHub Desktop.
[mobile_dev] - Aula 14 Dart POO Programação Orientada Objetos, classes, encapsulamento, toString()
//A POO Programação Orientada a Objetos
//foi criada na década de 1970 por Alan Kay, com o objetivo de se
//opor a outros paradigmas (como a programação funcional) e aproximar
//os softwares dos seres humanos.
void main() {
print("olá mundo");
// Map aluno = {"nome": "Natã", "idade": 19};
//Tipo variavel = Contrutor(parametros);
//a variavel aluno2 é a instância de um objeto
//da classe Aluno
Aluno aluno = Aluno("Natã", 19);
print(aluno.nome);
// tem mais 300 linhas de código aqui.
// quebra do encapsulamento
// POO fraca.
//aluno2.nome = "Ana Beatriz";
//tem mais 500 linhas de código aqui...
print(aluno.nome);
// const String nome = "Natã";
Aluno aluno2 = Aluno("Ana Beatriz", 24);
print(aluno2.nome);
List<Aluno> alunos = [aluno, aluno2];
print(alunos);
print(aluno.toString());
}
// class Aluno extends Object {
class Aluno {
final String nome;
final int idade;
Aluno(this.nome, this.idade);
@override // @sobrepor || @sobreescrever
String toString() {
// o método toString é herdado da classe Object
return "($nome, $idade)";
}
}
// class Aluno {
// String nome = "Natã";
// int idade = 19;
// }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment