Baixe o app para aproveitar ainda mais
Prévia do material em texto
K k k k k k l l LUCAS EMANUEL GOMES SILVA Programação Orientada a Objeto: Características e comparação em relação paradigma estruturado Sorocaba 2021 Introdução O objetivo desse trabalho é apresentar as principais características da programação orientada a objetos (POO), a qual tem o propósito principal de aproximar o mundo lógico da programação e o mundo em que vivemos, e, comparar as características da programação estruturada com as de Orientada a objetos, afim de analisarmos as principais diferenças. Desenvolvimento Um paradigma na programação pode ser entendido como a forma com a qual se decide resolver determinado problema por meio da programação de computadores. Por exemplo, na POO temos um modelo de análise e de projeto que se baseia na junção das esferas virtuais e reais, através da criação e da relação dos objetos, atributos, código, etc; próprias da POO. A POO parte do princípio de que tudo é objeto, porém precisam ser criados. Para isso, precisam de uma forma inicial para servir como modelo. Todo objeto possui as seguintes características: • Estado: conjunto de propriedades de um objeto (valores dos atributos). • Comportamento: conjunto de ações possíveis sobre o objeto (métodos da classe). • Unicidade: todo objeto é único (possui um endereço de memória). Em geral, podemos dizer que a programação nesse paradigma é composta por objetos com base em classes. Veja um exemplo: imagine uma fábrica produzindo um carro (objeto). No início da produção, haverá o uso de uma fôrma para dar o aspecto inicial do objeto, ou seja, quais são as características que o objeto precisa ter para ser um carro, como volante, carroceria, rodas, etc. Essas fôrmas são equivalentes ao conceito de classes em POO. Ao final dessa etapa os carros passam por uma personalização, então é a etapa em que o carro ganhará cor, acessórios, estofados entre outras personalizações. Todas essas características que pertencem individualmente a cada objeto são conhecidas em POO como atributos. Por fim, suas funcionalidades são os seus métodos, por exemplo, acelerar e frear são funcionalidades de um carro. Então, para sintetizar o exemplo anterior: Classe - Nada mais é, do que a especificação do que um dia poderá vim a ser um objeto. Objeto - Trata-se da instância de uma classe. Atributos - Definem o estado do objeto em um determinado instante, como cor, tamanho, ... Métodos - Definem o comportamento a ser exibido pelas instâncias da classe associada no tempo de execução do programa. “Na programação orientada a objetos um programa de computador é conceituado como um conjunto de objetos que trabalham juntos para realizar uma tarefa. Cada objeto é uma parte do programa, interagindo com as outras partes de maneira específica e totalmente controlada (CADENHEAD; LEMAY,2005, p. 6)” Conceitos principais da Orientação a objeto A forma com que se relacionam as quatro características recém-definidas vai constituir o conceito de POO. Para uma linguagem de programação ser considerada orientada a objetos, deve haver quatro comportamentos essenciais. São eles: o encapsulamento, a herança, o polimorfismo e a abstração. Encapsulamento O encapsulamento é a capacidade que um método ou atributo de um determinado objeto tem de permanecer invisível. Ou seja, ele continua funcional, mas sem mostrar como ele funciona. Para o programa, pouco importa como determinado método é construído. O que de fato ele se interessa é que seja feito aquilo que promete, pois assim poderá ser utilizado com eficiência, e também garante uma camada extra de proteção do programa, pois não mostra os detalhes de implementação. Imagine que um programa tem vários objetos separados que se comunicam entre si o tempo todo. Consideramos que estes objetos estão encapsulados quando eles mantêm os seus estados protegidos dentro de uma classe, o que quer dizer que outros objetos não têm acesso direto a esses estados e a única maneira que estes podem ser manipulados é através de métodos públicos. Resumindo em uma frase, o encapsulamento tem o objetivo de proteger os objetos. Herança Como o próprio nome diz, é a característica de receber algo pré-existente. No caso de POO, essa relação acontece entre classes, a qual a classe doadora é chamada de classe-mãe e a que herda é chamada de classe-filha. É uma propriedade muito útil para o reaproveitamento do código, pois a classe-filha tem todas as características da classe-mãe. Polimorfismo Já o polimorfismo é uma característica que pertence aos métodos dos objetos. Significa dizer que um mesmo método pode ser utilizado em diferentes objetos, de diferentes classes. Como exemplo desse tipo de evento, pense em um sistema bancário: o extrato (método) mostra a movimentação da conta de clientes de determinada categoria (objeto). No entanto, pode-se usar essa funcionalidade para clientes no geral. Além disso, ele pode ser utilizado no sistema de outros bancos (classes) também. Abstração Abstração é um dos conceitos mais importantes do paradigma orientado a objetos. O conceito de abstração consiste em esconder os detalhes de algo, no caso, os detalhes desnecessários. No mundo real, utilizamos abstrações o tempo todo. Tudo que não sabemos como funciona por baixo dos panos pode ser considerado uma abstração. Para exemplificar melhor, vamos tomar como exemplo uma concessionária que realizará manutenções no seu carro. Você leva o veículo até o local com um problema e ele volta consertado. Não importa aquilo que foi feito no carro, o que importa é que ele está funcionando. Comparação de POO com programação estruturada A programação estruturada (PE) é constituída por apenas três estruturas, na qual uma tarefa é executada em sequência a outra, decisão quando um teste lógico é executado ou não, e iteração que a partir do teste lógico algum trecho do código pode ser repetido finitas vezes. Seus códigos ficam em um mesmo bloco, sendo mais difícil e demorado fazer uma alteração, pois teremos que olhar se nenhum outro código depende daquele, fazendo uma análise mais detalhada. Portanto, como vimos, a programação orientada a objetos define uma programação voltada aos conceitos de classes e herança e, em contrapartida, a programação estruturada define uma programação voltada a procedimentos e funções definidas pelo usuário. Segue tabela (tabela.1) de uma breve comparação entre POO e PE: POO PE Métodos Funções Instâncias de variáveis Variáveis Mensagens Chamar funções Classes Tipos de dados definidos pelo usuário Heranças Sem correspondente Polimorfismo Sem correspondente tabela.1 Em PE, temos a vantagem de um controle mais eficaz referente ao fluxo de execução, além de facilitar a compreensão do código quando analisado. Porém, sua desvantagem é que é muito fácil fazer um código muito confuso, além de não ser um pouco complicado. Por isso, nesses casos é mais eficaz e inteligente usar o paradigma da Orientação a Objeto para programar, pois facilitará a reutilização do código e facilitará a compreensão do código por ser mais organizada. Referências CADENHEAD, Rogers; LEMAY, Laura, Aprenda em 21 dias Java 2. 4. ed. São Paulo: Campus, 2005. VICTORIOALBANI DE CARVALHO GIOVANY, FROSSARD TEIXEIRA. Redeetec.mec.gov.br. 2021. Disponível em: <http://redeetec.mec.gov.br/images/stories/pdf/eixo_infor_comun/tec_inf/081112_p rogr_obj.pdf>. Acesso em: 28 set. 2021. SANTIAGO, Fabio. Orientação a Objeto. Devmedia. 2012. Disponível em: <https://www.devmedia.com.br/orientacao-a-objetos-simples-assim/3254>. Acesso em: 28 set. 2021. SANTIAGO, Fabio. Orientação a Objeto e programação estruturada. Devmedia. 2012. Disponível em: <https://www.devmedia.com.br/programacao-orientada-a-objetos-e- programacao-estruturada/32813>. Acesso em: 28 set. 2021.
Compartilhar