Propaganda

Se você já fez alguma programação iniciante, ou mesmo quando começou a procurar idiomas diferentes, você provavelmente encontrou a frase "programação orientada a objetos" (ou "OOP").

Existem todos os tipos de explicações técnicas sobre o que é, mas hoje vamos dar uma olhada na definição de programação orientada a objetos de uma maneira simples.

Antes de começarmos: idiomas processuais

Para entender o que é uma linguagem de programação orientada a objetos, você precisa entender o que ela substituiu. As linguagens de programação iniciais eram procedurais - assim chamadas porque o programador definiria um conjunto muito específico de procedimentos que o computador adotaria.

O que é programação orientada a objetos e como começar a aprender

Nos primeiros dias, os procedimentos foram escritos em cartões perfurados. Essas etapas levaram os dados, executaram uma sequência de ações nesses dados e depois produziram novos dados.

As linguagens processuais funcionaram bem por um tempo (e algumas ainda estão em uso). Mas quando você deseja programar algo além de uma sequência básica de etapas, as linguagens processuais podem se tornar difíceis de gerenciar. É aí que entra a programação orientada a objetos.

instagram viewer

O Objeto da Programação Orientada a Objetos

Então, o que é programação orientada a objetos?

A primeira linguagem orientada a objetos (geralmente aceita Simula) introduziu a idéia de objetos. Objetos são coleções de informações tratadas como uma entidade singular.

Vamos nos aprofundar no que isso realmente significa em um segundo com um exemplo, mas primeiro temos que falar sobre Aulas. As classes são como pré-objetos. Eles contêm uma lista de atributos que, quando definidos, se tornam um objeto.

O que é programação orientada a objetos e como começar a aprender

Vamos dar o exemplo de programação de um jogo de xadrez. Podemos ter uma classe chamada Piece. No Piece, temos uma lista de atributos:

  • Cor
  • Altura
  • Forma
  • Movimento permitido

Um objeto simplesmente define uma instância específica de uma coisa pertencente a essa classe.

Então, poderíamos ter um objeto chamado WhiteQueen. Esse objeto teria definições para todos os quatro atributos (branco, alto, cilíndrico com ameias, qualquer número de espaços em qualquer direção). Também pode ter métodos ou funções.

O que torna isso muito melhor do que a abordagem processual?

Em resumo, linguagens de programação orientadas a objetos (como Java) facilita a organização de dados e códigos de uma maneira mais versátil para projetos maiores.

Para discutir um pouco mais detalhadamente, falaremos sobre os quatro princípios básicos da programação orientada a objetos.

Programação Orientada a Objetos: Abstração

Só porque você deseja usar algo não significa que você precisa saber como ele funciona. Uma máquina de café expresso, por exemplo, é complexa. Mas você não precisa saber como isso funciona. Você só precisa saber que, quando clicar em "Ativado", obterá café expresso.

O que é programação orientada a objetos e como começar a aprender

O mesmo vale para objetos na programação orientada a objetos. No nosso exemplo de xadrez, podemos ter um método move (). Esse método pode exigir muitos dados e outros métodos. Pode precisar das variáveis ​​posição inicial e posição final. Poderia usar outro método para determinar se capturou uma peça.

Mas você não precisa saber disso. Tudo que você precisa saber é que, quando você diz para a peça se mover, ela se move. Isso é abstração.

Programação Orientada a Objetos: Encapsulamento

O encapsulamento é uma das maneiras pelas quais a programação orientada a objetos cria abstração. Cada objeto é uma coleção de dados que são tratados como uma única entidade. E dentro desses objetos existem dados - variáveis ​​e métodos.

As variáveis ​​em um objeto geralmente são mantidas em sigilo, o que significa que outros objetos e métodos não podem acessá-los. Objetos só podem ser afetados usando seus métodos.

Um objeto Bishop pode conter várias informações. Por exemplo, poderia ter uma variável chamada "posição". Essa variável é necessária para usar o método move (). E, claro, tem uma cor.

Tornando a variável position privada e o método move () público, um programador protege a variável move de ser afetada por qualquer outra coisa. E se a cor for uma variável privada, não há como outro objeto alterá-la, a menos que haja um método que permita a alteração. (O que você provavelmente não teria, pois a cor da peça deve permanecer constante.)

Essas variáveis ​​e métodos são mantidos dentro do objeto Bishop. Por serem encapsulados, um programador pode fazer uma alteração na estrutura ou no conteúdo do objeto sem se preocupar com a interface pública.

Programação Orientada a Objetos: Herança

Além das classes, as linguagens de programação orientadas a objetos também têm subclasses. Eles contêm todos os atributos da classe pai, mas também podem conter outros atributos.

No nosso jogo de xadrez, as peças do peão precisam de um método que possa transformá-las em outras peças se elas chegarem ao final do tabuleiro. Vamos chamá-lo de método transformPiece ().

Nem todas as peças precisam do método transformPiece (). Portanto, não queremos colocá-lo na classe Piece. Em vez disso, podemos criar uma subclasse chamada Peão. Por ser uma subclasse, ela herda todos os atributos de Piece. Portanto, uma instância da subclasse Peão inclui uma cor, altura, forma e movimento permitidos.

Mas também inclui o método transformPiece (). Agora, nunca precisamos nos preocupar em usar acidentalmente essa função em uma torre. Aqui está uma explicação técnica:

Criar subclasses também economiza muito tempo. Em vez de criar novas classes para tudo, os programadores podem criar uma classe base e depois estendê-la para novas subclasses quando necessário. (No entanto, vale a pena notar que excesso de confiança na herança é ruim 10 princípios básicos de programação que todo programador deve seguirSempre escreva um código que possa ser mantido por qualquer pessoa que possa acabar trabalhando no seu software. Para esse fim, aqui estão vários princípios de programação para ajudá-lo a limpar seu ato. consulte Mais informação .)

Programação Orientada a Objetos: Polimorfismo

O polimorfismo é resultado da herança. Entender completamente o polimorfismo requer algum conhecimento de programação, por isso, vamos seguir o básico aqui. Em resumo, o polimorfismo permite que os programadores usem métodos com o mesmo nome, mas com objetos diferentes.

Por exemplo, nossa classe Piece pode ter um método move () que move uma peça um espaço em qualquer direção. Isso funciona para a peça do rei, mas não para qualquer outra coisa. Para corrigir esse problema, podemos definir o novo método move () na subclasse Rook, que define movimento como um número ilimitado de espaços à frente, para trás, à esquerda ou à direita.

Agora, quando um programador chama o método move () e usa uma peça como argumento, o programa saberá exatamente como a peça deve se mover. Isso economiza muito tempo tentando descobrir qual dos muitos métodos diferentes você deve usar.

Programação Orientada a Objetos em poucas palavras

Se sua cabeça estiver girando um pouco depois dessas quatro últimas definições, não se preocupe demais. Aqui estão as principais coisas que você precisa lembrar:

  • A programação orientada a objetos coleta informações em entidades únicas chamadas objetos.
  • Cada objeto é uma única instância de uma classe.
  • A abstração oculta o funcionamento interno de um objeto quando não é necessário vê-lo.
  • O encapsulamento armazena variáveis ​​e métodos relacionados nos objetos e os protege.
  • A herança permite que as subclasses usem atributos das classes pai.
  • O polimorfismo permite que objetos e métodos lidem com várias situações diferentes com uma única interface.

Se você se lembrar desses pontos, terá uma boa noção do que é programação orientada a objetos. Os quatro princípios básicos da programação orientada a objetos, como mencionei, podem ser um pouco difíceis de entender. Mas assim que você começar a programar, eles ficarão mais claros.

Lembre-se de que discutimos apenas generalidades neste artigo. Diferentes linguagens orientadas a objetos terão suas próprias peculiaridades e maneiras de fazer as coisas acontecerem. Depois que você escolha o idioma certo para você Procurando as melhores linguagens de programação? Começa aqui!Se você é completamente novo em linguagens de programação ou procura entrar em um novo tipo de programação, uma das perguntas mais importantes a fazer é: "Qual linguagem de programação é adequada para mim?" consulte Mais informação , você começará a aprender como isso coloca os princípios de POO em prática.

Dann é consultor de estratégia e marketing de conteúdo que ajuda as empresas a gerar demanda e leads. Ele também bloga sobre estratégia e marketing de conteúdo em dannalbright.com.