Oi Gisele! Tudo certo?
Desculpe a demora c:
Então seguinte, esse código que você criou ele está usando os conceitos de Getter e Setter.
Getter e Setter são estruturas de privacidade em orientação a objetos.
Pera pera pera, o que? Que frase mais complicada Kako!
Em muitos momentos, precisamos deixar nosso código mais seguro, ou seja, impedir que alterações sejam feitas sem necessidade ou sem permissão. uma variável idade
por exemplo, pode ser chamada por qualquer um e alterada... Isso pode te dar uma dor de cabeça eventualmete. Para resolver esse problema, nós criamos privacidade para nossas variáveis, e no Dart para deixar uma variável privada basta adicionar _
ao inicio do nome. Isso indica à linguagem que a _idade
não poderá ser alterada por externos ao código especifico.
Ta, e o que tem a ver isso com Getter e Setter?
Uma vez que nossas variaveis tem essa camada de proteção, precisamos ter alguns passos a mais para pegar ( getter ) os valores da variavel e para alterar (setter) esses mesmos valores.
No seu código:
class Person {
final String _name;
final int _age;
Person({String? name, int? age})
: _name = name!,
_age = age!;
}
name
e age
são recebidos pelo construtor (quando criado/instanciado o valor é dado) e logo em seguida esses valores são associados às variaveis privadas da Classe: _name
e _age
Por fim, esse !
é vindo no Null Safety, garantindo que os valores são diferentes de nulo ao serem associados às variáveis.
Uffa, espero ter ajudado c: