A programação orientada a objetos é um paradigma da programação que procura entender os problemas a partir de classes, ações, itens e características que se relacionam entre si. Na sequência de aprendizado da programação, entender este paradigma de programação é o segundo passo, logo depois da programação imperativa.

 

  1. Programação Imperativa
  2. Programação Orientada a Objetos
  3. Programação Funcional

 

O que é programação orientada a objetos?

 

É muito comum encontrar programadores que só utilizam linguagens de programação orientadas a objetos, mas que não compreendem verdadeiramente os paradigmas dessa condição.

 

Quando alguma pessoa está começando a aprender a programar, o mais comum é que seja introduzida a partir da programação imperativa. Nesta, todo aplicativo ou algoritmo é desenvolvido pensando em uma série de etapas que o software deve cumprir para atingir o seu objetivo final. Um exemplo disso é descrever o passo a passo para trocar uma lâmpada, por exemplo.

 

Depois desse aprendizado de introdução à lógica de programação e algoritmos, é preciso entender o paradigma orientado a objetos. A diferença do POO é que, ao invés de pensarmos em passo a passo, primeiro serão definidos os elementos necessários para realizar o objetivo. A descrição do código será feita relacionando esses elementos até sua conclusão.

 

programação orientada a objetos

 

Por que aprender programação orientada a objetos (POO)?

 

Hoje em dia, o mercado de programação é dominado pelo paradigma orientado a objetos. A maioria das linguagens de programação são orientadas a objetos, como: Java, C#, Python e C++ e, apesar de terem algumas diferenças na implementação, todas seguem os mesmos princípios e conceitos.

 

Isso acontece porque se trata de um padrão que tem evoluído muito, principalmente em questões voltadas para segurança e reaproveitamento de código, o que é muito importante no desenvolvimento de qualquer aplicação moderna.

 

Características da programação orientada a objetos

 

Para uma linguagem ser considerada no paradigma do POO, existem quatro características principais que precisam fazer parte de sua aplicação: abstração, encapsulamento, herança e polimorfismo.

 

programação orientada a objetos

 

Abstração

 

Como estamos lidando com uma representação de um objeto real, temos que imaginar o que esse objeto irá realizar dentro do sistema. Três pontos que devem ser levados em consideração nessa abstração: identidade, característica e ação.

 

O primeiro passo é darmos uma identidade ao objeto que iremos criar. Essa identidade deve ser única dentro do sistema para que não haja conflito. Na maior parte das linguagens, há o conceito de pacotes (ou namespaces). Nessas linguagens, a identidade do objeto não pode ser repetida dentro do pacote, e não necessariamente no sistema inteiro.

 

O segundo passo é definir as características do objeto. Todo objeto possui elementos que o definem. Dentro da programação orientada a objetos, essas características são nomeadas propriedades. Por exemplo, as propriedades de um objeto “Chaleira” poderiam ser “Tamanho”, “Peso” e “Cor”.

 

Por fim, a terceira parte é definirmos as ações que o objeto irá executar. Essas ações, ou eventos, são chamados métodos. Esses métodos podem ser extremamente variáveis. No exemplo da chaleira, poderiam ser “Esquentar()” ou “Apitar()”.

 

Encapsulamento

 

O encapsulamento é um dos elementos que adicionam segurança à aplicação em uma programação orientada a objetos, por isso é tão importante. O objetivo dessa característica é esconder as propriedades dos objetos, criando uma espécie de caixa preta.

 

A maior parte das linguagens orientadas a objetos implementam o encapsulamento baseado em propriedades privadas, ligadas a métodos especiais chamados getters e setters, que irão retornar e setar o valor da propriedade, respectivamente. Essa atitude evita o acesso direto a propriedade do objeto, adicionando uma outra camada de segurança à aplicação.

 

Um exemplo disso na vida real, para ficar mais fácil, pode ser quando clicamos no botão de ligar ou desligar um celular. Ao clicarmos, não sabemos exatamente o que está acendendo e rodando internamente, ou seja, os métodos que ligam o celular estão encapsulados.  

 

Herança

 

Como falamos anteriormente, a possibilidade de reutilizar códigos de programação orientada a objetos é um dos principais motivos para esse tipo de programação ter sido tão difundido. Isso acontece por meio da característica de herança.

 

Essa característica otimiza a produção da aplicação em tempo e linhas de código. O objeto abaixo na hierarquia irá herdar características de todos os objetos acima dele, seus “ancestrais”. A herança a partir das características do objeto mais acima é considerada herança direta, enquanto as demais são consideradas heranças indiretas. Por exemplo, na família, a criança herda diretamente do pai e indiretamente do avô e do bisavô.

 

Polimorfismo

 

O polimorfismo é a capacidade de alterar a forma conforme a necessidade. Na POO, os objetos filhos herdam as características e ações de seus ancestrais. Entretanto, em alguns casos, é necessário que as ações para um mesmo método seja diferente. Em outras palavras, o polimorfismo consiste na alteração do funcionamento interno de um método herdado de um objeto pai.

 

Como um exemplo, temos um objeto genérico “Eletrodoméstico”. Esse objeto possui um método, ou ação, “Ligar()”. Temos dois objetos, “Televisão” e “Geladeira”, que não irão ser ligados da mesma forma. Assim, precisamos, para cada uma das classes filhas, reescrever o método “Ligar()”.

 

Compreender essas quatro características é fundamental para utilizar a programação orientada a objetos com mais consciência de suas possibilidades. Cada linguagem utiliza essas características de formas diferentes, mas a base é a mesma.

 

Está começando a se interessar por programação agora? Assista a live online e gratuita Aprenda a programar sozinho para entender os primeiros conceitos de programação e depois partir para a prática!

 

aprender a programar

 

Programação orientada a objetos: o que isso significa?
Avalie esse post
Você pode também gostar