Ao analisar as classes apresentadas, nota-se que cada variável está contida no conceito a qual ela pertence, tornando o código muito mais intuitivo, aumentando a sua capacidade de entendimento e manutenção. Na Listagem 6 é https://portaljnn.com/noticia/28529/-descubra-quais-as-futuras-tendencias-no-desenvolvimento-web apresentado o código responsável por obter os dados do cliente e o valor total do pedido. Ao encontrar o vendedor que realizou o pedido (linha 5), o percentual de comissão e o nome do vendedor são obtidos (linhas 6 e 7).
Na verdade em OOP, as únicas linguagens populares são essencialmente imperativas com características de orientação a objetos e implementam vários conceitos de programação funcional. E o principal conceito do paradigma, que é a herança, é frequentemente desencorajado. Algumas pessoas colocam outro conceito como principal, mas outros conceitos sequer são exclusivos da orientação a objeto. Como na maioria das atividades desenvolvidas, também na programação existem múltiplas formas diferentes de programar.
Diferença entre programação orientada a objetos e programação estruturada
Outro fator que também contribui bastante para o mundo do desenvolvimento é a herança, que possibilita reduzir os tamanhos dos códigos e, por consequência, o trabalho dos programadores. Este é um conceito que busca garantir a associação exclusiva de determinados objetos e a alteração dos atributos dele. Desse modo, quando os atributos estão encapsulados, eles estão “bloqueados” para alteração de outros elementos do código. A resposta é a Orientada a Objetos, que atualmente é o mais difundido entre todos. 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. Facilita para a organização do projeto, separar estes conjuntos de objetos em classes.
- A tabela não deve ser interpretada como um comparativo definitivo das diferenças.
- No entanto, em algumas situações pode ser necessário que as ações para um mesmo método sejam diferentes.
- Essa solução funciona, mas podemos resolver esse problema de outra forma, usando um conceito da programação funcional chamado de recursão.
- Na Listagem 2 é apresentado o método para popular essas variáveis para a aplicação exemplo, gerando nosso conjunto de dados.
Utilizando ainda o exemplo do carro, podemos criar vários objetos que representam carros específicos, como um carro da marca “Toyota”, modelo “Corolla”, cor “preto” e ano de fabricação “2019”. Ao atualizar uma parte pequena, o conceito de herança garante que, automaticamente, todas as partes que utilizarem tal método sejam beneficiadas. Quando ocorre uma herança, a classe-filha herda as características da classe-mãe. Isso é bastante útil para um reaproveitamento de código, pois não seria necessário refazer algo que já existe. Durante suas atividades, ele idealizou a criação de um aparelho chamado Dynabook. Para que o Dynabook se tornasse realidade, era necessário o desenvolvimento de uma linguagem de programação por meio da qual pudesse ser construído o sistema do aparelho.
Herança
O resultado da execução do segundo exemplo estruturado e seu equivalente na forma orientada a objetos é apresentado na Listagem 26. Apresentada a classe ClienteEspecial, que introduz uma especialização de Cliente, declaramos, na Listagem 22, a classe Produto, que não sofreu nenhuma alteração em comparação com a versão anterior, puramente orientada a objetos (Listagem 10). Como visto na Listagem 18, a classe Pessoa contém os atributos curso de desenvolvimento web e métodos que são comuns às classes Cliente e Vendedor. De forma a especializar Pessoa, na Listagem 19 é declarada a classe Cliente, herdando assim todos os atributos e métodos desta (com exceção dos privados). A segunda alteração a ser implementada é fazer com que os itens de pedido possam ser vendidos com desconto, ou seja, cada item de pedido deve conter também o percentual de desconto com que o produto foi vendido.