O que é Programação Orientada a Objetos POO?

No caso da orientação a objetos, têm-se métodos que são aplicados aos dados de cada objeto. Essencialmente, os procedimentos e métodos são iguais, sendo diferenciados apenas pelo seu escopo. A programação orientada a objetos é um paradigma de programação ​Descubra quais as futuras tendências no desenvolvimento web que se baseia no conceito de “objetos”, que podem conter dados, na forma de campos ou atributos, e códigos, na forma de procedimentos ou métodos. Ela enfatiza a modularidade e a reutilização de código, permitindo uma modelagem mais próxima da realidade.

  • Todavia, o seu encapsulamento é um pouco diferente devido à implementação dos métodos getter e setter, além de possuir herança simples e a utilização de interfaces.
  • A premissa da POO considera que tudo o que existe são os objetos e, para que eles sejam criados, necessitam de uma forma que crie esse aspecto inicial.
  • C# é um exemplo de linguagem imperativa que está cada dia mais funcional, mas nunca deixará de ser predominantemente imperativa, e manterá sua orientação a objeto (mas que tem papel cada vez menos importante, desde o 2.0 isso vem caindo).
  • A programação orientada a objetos surgiu como uma alternativa a essas características da programação estruturada.

Outra classe fundamental para a nossa solução orientada a objetos é declarada na Listagem 24 e corresponde à classe Pedido. Pedido contém alterações devido à implementação das novas funcionalidades, de forma a suportar agora clientes especiais e descontos por itens de pedido. Analisando o código apresentado, verifica-se que nas linhas 19 a 22 é calculado o desconto sobre os itens de venda (produtos), determinando o valor do desconto multiplicando o percentual de desconto pelo valor total do item. Por fim, nas linhas 41 a 44 foi calculado o desconto para clientes especiais, ou seja, se o cliente que efetuou a compra estiver na lista de clientes especiais codigoClientesEspeciais, é dado o devido desconto. Outra classe muito importante no exemplo puramente orientado a objetos é apresentada na Listagem 11, chamada de ItemVenda. Esta tem a função de representar os produtos que compõem uma venda, indicando a quantidade vendida e contendo uma referência ao produto vendido.

– Polimorfismo

Mas o fluxo do programa continua o mesmo, como se pudéssemos copiar e colar o código das subrotinas diretamente nas rotinas que as chamam, de tal forma que, no final, só haja uma grande rotina que execute todo o programa. Se falando de linguagem, a C é a principal representante da programação estruturada. Trata-se de uma linguagem considerada de baixo nível, que atualmente não é utilizada para projetos muito grandes. A sua principal utilização, devido ao baixo nível, é em programação para sistemas embarcados ou outros em que o conhecimento do hardware se faz necessário para um bom programa. O próximo exemplo a ser analisado é dado pela adição de novas funcionalidades ao exemplo anterior, como se estivéssemos fazendo a manutenção de um sistema. A primeira alteração a ser implementada é a possibilidade de suportar clientes especiais, que têm um percentual de desconto a ser aplicado a qualquer compra que realizarem.

Entretanto, a programação orientada a objetos traz outros pontos que acabam sendo mais interessantes no contexto de aplicações modernas. Como o desempenho das aplicações não é uma das grandes preocupações na maioria das aplicações (devido ao poder de processamento dos computadores atuais), a programação orientada a objetos se tornou muito difundida. Essa difusão se dá muito pela questão da reutilização de código e pela capacidade de representação do sistema muito mais perto do que veríamos no mundo real. A próxima classe a ser apresentada é a classe ItemVenda, introduzida na Listagem 23. Esta classe recebeu a adição do atributo percentualDesconto e novos métodos para calcular o total do item, além de considerar o desconto aplicável sobre os produtos vendidos em sua implementação. Agora, com um código que realmente adota a orientação a objetos, o processamento de um pedido se tornou muito mais intuitivo, pois não precisamos mais da lógica de programação complicada que era utilizada anteriormente para manipular os vetores de dados.

Encapsulamento

Na Listagem 1 foram apresentadas todas as variáveis do programa, contendo informações importantes sobre os produtos, clientes, o pedido e seus itens, os vendedores e demais dados do pedido, muitas vezes na forma de vetores. Certamente, a programação estruturada é o primeiro paradigma que muitos desenvolvedores se deparam ao iniciar seus estudos. Tal paradigma leva a programas que são conhecidos por estruturarem as suas funcionalidades em sub-rotinas, geralmente levando à criação de sistemas caracterizados por conter grandes blocos de código-fonte ou sub-rotinas sem organização dos dados. A Programação Orientada a Objetos pode ser feita em muitas linguagens de programação, seja ela Python, Java, C#, C++, Php, Dart, etc., e surgiu com o objetivo de reaproveitar o código e de aproximar o mundo virtual ao mundo real, daí vir o nome “objeto”.

Para reduzir as ineficiências a pureza de paradigma deve ser deixada de lado; e quanto mais se aproximam do imperativo, mais próximos estão do processamento concreto. Claro que aí estão alguns pontos que ajudam entender as diferenças entre elas. O assunto é https://portaljnn.com/noticia/28529/-descubra-quais-as-futuras-tendencias-no-desenvolvimento-web um pouco mais complexo que isso e há algumas imprecisões para simplificar a exposição. A tabela não deve ser interpretada como um comparativo definitivo das diferenças. Nem tão pouco que seja um “ou você escolhe um ou outro aspecto de cada lado da tabela”.

Definição de programação orientada a objetos (POO):

Os comandos disponíveis são fixos pela linguagem, e normalmente há comandos distintos para tratar de tipos de dados distintos. Na imagem da programação estruturada, fica claro quando falamos em declarar variáveis, métodos e funções em uma mesma página. Na tela 01 declaramos as variáveis, na tela 02 mostramos as fórmulas e na tela 03 captura os dados via teclado. Outro importante conceito que deve ser conhecido é como os computadores conseguem entender e executar os comandos dos programas escritos em alguma linguagem de programação. Isto é possível graças a um programa tradutor, isto mesmo, um programa que traduz as linhas de código em códigos que o computador entende, ou seja, linguagem binária.

Start typing and press Enter to search