Aula 0: Por Que Organizar o Código em Objetos, Afinal?
Você já sabe escrever funções, variáveis e loops. Mas um programa procedural que cresce tende a se espalhar: variáveis como customer_name, customer_balance e customer_history aparecem em vários lugares diferentes do código, e funções separadas como calculate_discount() e print_receipt() cada uma sil
Quando cada fato sobre um 'cliente' está espalhado em dezenas de variáveis e funções separadas, é fácil esquecer uma cópia quando algo muda. O OOP diz: mantenha tudo relacionado a um cliente — dados e ações — junto, em um só lugar.
- duplicação procedural
- Uma situação em que o mesmo dado ou a mesma lógica de negócio aparece como cópias separadas em lugares diferentes do código.
- estado espalhado
- Dados que pertencem à mesma 'coisa' do mundo real (por exemplo, um cliente), mas armazenados em variáveis separadas e não agrupadas.
- fonte única da verdade
- Uma única definição inequívoca do que uma determinada 'coisa' é e faz, referenciada por todas as partes do programa.
- agrupar dados e comportamento
- O princípio central do OOP de agrupar os dados de uma coisa junto com as operações que ela pode realizar, em um só lugar.