Please enable JavaScript.
Coggle requires JavaScript to display documents.
PARADIGMAS DE PROGRAMAÇÃO - Coggle Diagram
PARADIGMAS DE PROGRAMAÇÃO
Ajudam a estabelecer padrões para escrever códigos
Baixo Nível - Décadas 40/50
Programação Baixo Nível
Não existia interpretador. Ênfase nos cálculos matemáticos
Alto nível
Programação Linear - Década de 60
Comandos já mais compreensíveis pelos programadores
Ênfase no processamento de dados
Programação Estruturada - Década de 70
É baseada na execução sequencial de instruções e na divisão do código em funções ou procedimentos, buscando a modularização e a clareza do código
Ênfase na estruturação do código
Programação Modular
Enfatiza a separação das funcionalidades de um programa em módulos
Um módulo deve ter uma interface bem definida com outros módulos
Programação Orientada à Objetos
Se baseia no conceito de “objetos”, que podem conter dados, na forma de campos ou atributos, e códigos, na forma de procedimentos ou métodos.
Enfatiza a modularidade e a reutilização de código, permitindo uma modelagem mais próxima da realidade.
Vantagens:
Reutilização de código
Promove um código mais modular e menos redundante
Encapsulamento
Facilita a manutenção e reduz o acoplamento entre componentes.
Modelagem do mundo real
A modelagem de problemas do mundo real se torna mais natural, já que os objetos podem representar entidades reais com atributos e comportamentos.
Objetos
Coisa material ou abstrata que pode ser percebida pelos sentidos e descrita por meio das suas características, comportamentos e estado atual.
O rascunho de um OBJETO é chamado de CLASSE. Ela define os atributos e métodos comuns que serão compartilhados por um objeto.
Todo objeto é a instância de uma classe
Modificadores de Visibilidade
público; privado; protegido
Métodos Especiais
assessores; modificadores; construtores
Pilares
Abstração
Alguns autores consideram como o 1o pilar da P.O.O.
Capacidade de extrair dos itens ou personagens presentes num contexto, suas principais características e comportamentos para criar objetos
Encapsulamento
Ato de ocultar partes independentes da implementação, permitindo construir partes invisíveis ao mundo exterior.
Vantagens
Tornar mudanças invisíveis;
Facilitar a reutilização de código;
Reduzir efeitos colaterais.
Herança
Capacidade de um objeto ser idealizado baseado em outro objeto.
Herança Pobre: nada é acrescentado;
Herança por diferença: novos atributos ou métodos são acrescentados.
Polimorfismo
Possibilidade de uma hierarquia de classes implementar métodos com a mesma assinatura e, implementando um mesmo código que funcione para qualquer classe dessa hierarquia sem a necessidade de implementações específicas para cada classe
Objetivos
Diminuir a quantidade de código;
Aumentar a clareza e facilidade de manutenção.