1
resposta

Funcionou mesmo sem o underline

Experimentei não colocar o underline antes de quantidade e valor, e funcionou do mesmo jeito. Como funcionou se não existe setter?

1 resposta

Se eu entendi o que você disse, quando você tira o underline antes da variável e tenta acessar, você está acessando a própria propriedade/atributo da classe, e não o método setter, por isso que "funciona sem o setter", faz sentido?

O underline antes em conjunto com os getters/setters é justamente para "impedir"(apenas uma convenção pois não realmente impede se o programador quiser burlar) que as variáveis sejam acessadas diretamente, como uma maneira de simular um encapsulamento e variáveis privadas.