Skip to main content

O que é programação orientada a objetos?

A programação orientada a objetos (OOP) é ​​um modelo de linguagem de programação que se concentra no uso de objetos em vez de ações para realizar tarefas. Isso envolve adotar uma abordagem mais atenta aos dados e menos preocupada com a lógica, o que é mais comum em outros paradigmas de programação. A visão de objetos e ações é o inverso de como é em outras linguagens, e a ênfase está nos próprios objetos, e não na execução de tarefas que os empregam. Da mesma forma, a estrutura não considera decidir como empregar a lógica, mas a definição dos dados que serão utilizados na programação.

A criação de software de computador com programação orientada a objetos começa com a definição dos objetos que devem ser manipulados pelo programa. O programador começará a identificar o relacionamento entre cada objeto, um processo geralmente chamado de modelagem de dados. Essencialmente, o programador está procurando colocar os objetos em uma classificação, ajudando assim a definir os dados que fazem parte da herança trazida para a tarefa por cada objeto. De fato, o processo de definição dessas classes e subclasses de dados é normalmente chamado de herança.

OOP também ajuda a classificar objetos de uma maneira que permite que o polimorfismo ocorra. Ou seja, objetos diferentes poderão responder a uma mensagem comum, mas cada um de uma maneira diferente e exclusiva desse objeto. Ao mesmo tempo, esse tipo de programação permite o encapsulamento de um objeto, ocultando ou protegendo efetivamente os dados associados ao objeto da visualização fácil, sem acesso à segurança.

Uma das vantagens da programação orientada a objetos é que o processo faz bom uso da modularidade, o que significa que objetos e tarefas são agrupados de maneira que cada módulo seja capaz de consideração independente. Isso pode ser uma grande ajuda ao fazer aprimoramentos em um programa, pois a modularidade possibilita abordar a tarefa de fazer alternações na configuração de uma parte da programação sem afetar a estrutura e a função dos outros módulos.