Created
March 7, 2023 01:59
-
-
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()
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//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