Introdução e conceituação da POO

Neste artigo, entender o que é a POO, seus conceitos-chave, seus pilares e seus benefícios, além de responder algumas questões.

Avatar


29 de Junho de 2022

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.

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

Avatar


29 de Junho de 2022