Muito obrigado pelos links, vou levá-los em consideração nas próximas partes.
Meu intuito não é entrar a fundo nos conceitos, no post, passo um código, explico bem detalhadamente o que foi feito e proponho o que será feito em seguida e porquê.
Eu tomei uma abordagem de explicar a prática, tentei ser bem didático e não citar conceitos tão complicados no começo.
Por exemplo, sei que o new
atua muito como um alocador, mas talvez para ficar mais claro, tenha que explica sobre alocação (memória heap, stack), então simplesmente falo que o new
é usado para instanciar um novo objeto.
Realmente pelo jeito que escrevi no final sobre getters/setters (o trecho que coloquei aqui foi um corte da definição que dei no final) pode parecer information hiding, mas durante a prática no post, explico porque fiz determinado atributo privado, explicando que usamos o encapsulamento mais para moldar a forma que queremos usar (ou que outros usem) a classe que criamos.
Acabei esquecendo, mas se quiser, você pode fazer sua contribuição no post, ele é open-source e pode ser acessado aqui toda contribuição é bem-vinda.