Fala, meus consagrados! Tudo beleza com vocês?
Neste artigo, entender o que é a POO, seus conceitos-chave, seus pilares e seus benefícios, além de responder algumas questões.
Teoria
Vamos começar com uma revisão sobre a Programação Estruturada. Essa programação foca no desenvolvimento de procedimentos para resolver um problema. Na programação estruturada, são consideradas entidades separadas os dados e procedimentos.
A forma de trabalhar com essa programação:
- Primeiro, focamos nos algoritmos:
- Os procedimentos são planejados e desenvolvidos;
- Depois, trabalhamos as estruturas de dados:
- Os meios apropriados de armazenamento de dados são encontrados.
Já a Programação Orientada a Objetos (POO) é uma maneira de pensar os problemas, utilizando modelos organizados a partir de conceitos do mundo real. É definida como um modelo de análise, projeto e programação de sistemas baseados na composição e interação entre diversas unidades de software chamadas de objetos.
O objeto é o componente fundamental da POO. Ele combina em uma única entidade a estrutura e comportamento. É considerado entidade única e indivisível.
A forma de trabalhar com a POO é:
- Primeiro, focamos nos dados:
- Os dados de um contexto são examinados;
- Depois, trabalhamos os métodos:
- As operações que vão trabalhar com os dados são desenvolvidos.
Temos seis conceitos-chave da POO:
- Abstração: elucida apenas as propriedades comuns de um conjunto de objetos, omitindo os detalhes;
- Classes: são conjunto de objetos que possuem o mesmo tipo;
- Objetos: são instâncias das classes;
- Encapsulamento: distingue a especificação e a implementação das operações de um objeto;
- Herança: permite ao usuário definir tipos de forma incremental, a partir de tipos existentes; e
- Polimorfismo: define que uma determinada operação pode se comportar de diferentes formas em diferentes classes.
Como pilares da POO, são apenas:
- Abstração (que se desdobra em classes e objetos);
- Encapsulamento;
- Herança; e
- Polimorfismo.
Como benefícios da POO, temos:
- Modularidade:
- O código fonte para um objeto pode ser escrito e mantido independentemente do código fonte para outros objetos;
- Uma vez criado, um objeto pode ser facilmente introduzido no sistema;
- Encapsulamento de informações:
- Ao interagir somente com métodos de um objeto, os detalhes de sua implementação interna permanecem escondidos do mundo exterior;
- Reutilização de código:
- Se um objeto já existe, pode–se usar esse objeto em outro programa;
- Facilidade de depuração e inserção:
- Se há um objeto que problemático, pode–se:
- Removê–lo da aplicação; e
- Inserir um objeto diferente para substitui–lo.
- Se há um objeto que problemático, pode–se:
Questões de concursos
[Instituto AOCP 2021 FUNPRESP-JUD – Analista de Tecnologia da Informação – Desenvolvimento de Sistemas] Quanto à análise e ao projeto orientados a objetos, julgue o seguinte item.
Na análise e no projeto orientados a objeto, um dos aspectos mais difíceis na modelagem é a abstração. Em linhas gerais, abstrair é retirar ou capturar todas as informações observadas e fornecidas ao arquiteto de software, independentemente se serão usadas posteriormente na análise ou não.
Comentários:
A abstração é justamente o contrário. Ela elucida apenas as propriedades comuns de um conjunto de objetos, omitindo os detalhes. Também foca nas informações mais importantes, deixando a complexidade para depois.
Gabarito: ERRADO.
[SUGEP/UFRPE 2018 UFRPE – Técnico de Tecnologia da Informação – Sistemas] Sobre Programação Orientada a Objetos (POO), assinale a alternativa incorreta. (Marque o texto da letra como CERTO ou ERRADO)
[A] POO é um paradigma de programação, sugerindo um padrão de desenvolvimento que independe da linguagem utilizada.
Comentários:
Os conceitos de POO independem de linguagem de programação, o que faz com que várias linguagens possam usar esses conceitos. Como exemplo de linguagens, temos Java, C#, C++, PHP, Python.
Gabarito: CERTO.
[SUGEP/UFRPE 2018 UFRPE – Técnico de Tecnologia da Informação – Sistemas] Sobre Programação Orientada a Objetos (POO), assinale a alternativa incorreta. (Marque o texto da letra como CERTO ou ERRADO)
[E] Apesar de Java ter sido projetada para orientação a objetos, os códigos nessa linguagem podem ser escritos utilizando-se programação estruturada.
Comentários:
Dentro de um método de uma classe em Java, podemos usar a programação estruturada, mas o grande foco da linguagem Java é ser usada como uma linguagem orientada a objetos.
Gabarito: CERTO.
[Quadrix 2017 SEDF – Professor – Informática] Acerca de aspectos de linguagens de programação, algoritmos e estruturas de dados e objetos, programação orientada a objetos e arquitetura MVC, julgue o item subsequente.
Uma das desvantagens da programação orientada a objetos está no fato de que seus programas são de difícil manutenção, uma vez que esse tipo de abordagem lida com problemas complexos.
Comentários:
Totalmente errado. Ao se usar a POO, temos os seguintes benefícios:
- Modularidade;
- Encapsulamento de informações;
- Reutilização de código; e
- Facilidade de depuração e inserção.
O que torna ela excelente para lidar com problemas complexos.
Gabarito: ERRADO.
[Quadrix 2018 CRM/PR – Analista de Tecnologia da Informação] Acerca da análise orientada a objetos, julgue o item subsequente.
Embora a orientação a objetos seja um paradigma eficaz de análise e desenvolvimento de sistema, com ela, torna-se difícil abstrair, de uma maneira mais fidedigna, as situações do mundo real.
Comentários:
É mais difícil abstratir as situações do mundo real com a programação estruturada. Já a POO é uma maneira de pensar os problemas, utilizando modelos organizados a partir de conceitos do mundo real.
Gabarito: ERRADO.
Então é isso!
[]s e até a próxima!
_________________________
Professor Rogerão Araújo