Prof. Tiago Segato
Quando o código se torna difícil de gerenciar na programação procedural/estruturada:
A ideia da POO é trazer o mundo real para o código, organizando-o em "objetos" autônomos que:
"A POO nos permite pensar em termos de objetos do mundo real, tornando o código mais natural e organizado."
A Programação Orientada a Objetos (POO) é um paradigma que revolucionou o desenvolvimento de software:
Como identificar objetos em um sistema:
"A POO nos permite modelar o mundo real em nosso código, criando sistemas mais intuitivos e organizados."
A Programação Orientada a Objetos se baseia em quatro pilares fundamentais:
Focar no que é essencial. O que um Estudante faz e tem de importante para o nosso sistema? Ignoramos detalhes menos relevantes.
Proteger e agrupar dados e comportamentos. A "caixa-preta" que esconde detalhes internos e expõe apenas o necessário.
Reutilizar código. Um Professor e um Estudante são, antes de tudo, uma Pessoa. Permite criar hierarquias lógicas.
"Muitas formas". A capacidade de objetos diferentes responderem à mesma mensagem de maneiras diferentes.
"Estes quatro pilares são a base de qualquer sistema orientado a objetos bem projetado."
Classes são como uma "planta" ou "molde" para criar objetos similares, eliminando repetição de código.
Classes em JavaScript podem ter diferentes tipos de atributos e métodos:
Atributos e métodos estáticos pertencem à classe, não às instâncias:
Quando usar: Para funcionalidades que fazem sentido para a classe como um todo, não para instâncias específicas.
Objetos não vivem isolados. Eles interagem, colaboram e se relacionam:
Objetos têm ciclos de vida independentes:
Disciplina tem um ProfessorCiclo de vida do objeto "parte" depende do objeto "todo":
Nota é parte de uma Matrícula"Entender os relacionamentos entre objetos é fundamental para modelar sistemas complexos de forma eficiente."
Getters e Setters permitem controlar o acesso aos atributos:
Estudante é uma Pessoa
Polimorfismo permite que objetos de classes diferentes respondam à mesma mensagem de maneiras diferentes:
"O polimorfismo permite escrever código mais flexível e extensível, tratando objetos diferentes de forma uniforme."
MinhaClasse)meuMetodo)MAX_TENTATIVAS)# para campos realmente privados"Código limpo e bem estruturado é mais importante que código inteligente e complexo."
"A POO não é apenas uma técnica de programação, é uma forma de pensar e modelar soluções para problemas complexos."