Buscar

Programação Orientada a Objeto e Procedural

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

2
Programação Orientada a Objetos
Leonardo Vinícius Neves
leovinicius1992@gmail.com
Categoria de Classificação: Artigo Acadêmico
São Paulo
2015
Introdução
Este trabalho tem como o objetivo falar mais a respeito sobre os paradigmas de Programação Orientada à Objeto , e Programação Procedural, procurando esclarecer duvidas e passando melhor entendimento sobre este tema.
Compare profundamente os seguintes paradigmas: Programação Orientada à Objetos e Programação Procedural. Mostre exemplos de onde cada paradigma se encaixa melhor.
Programação Orientada a Objeto
O termo Programação Orientada a Objetos foi criado por Alan Kay, autor da linguagem de programação Smalltalk. Mas mesmo antes da criação do Smalltalk, algumas das ideias da POO já eram aplicadas, sendo que a primeira linguagem a realmente utilizar estas idéias foi a linguagem Simula 67, criada por Ole Johan Dahl e Kristen Nygaard em 1967. Note que este paradigma de programação já é bastante antigo, mas só agora vem sendo aceito realmente nas grandes empresas de desenvolvimento de Software. Alguns exemplos de linguagens modernas utilizadas por grandes empresas em todo o mundo que adotaram essas idéias: Java, C#, C++, Object Pascal (Delphi), Ruby, Python, Lisp, ...
A maioria delas adota as ideias parcialmente, dando espaço para o antigo modelo procedural de programação, como acontece no C++ por exemplo, onde temos a possibilidade de usar POO, mas a linguagem não força o programador a adotar este paradigma de programação, sendo ainda possível programar da forma procedural tradicional. Este tipo de linguagem segue a idéia de utilizar uma linguagem previamente existente como base e adicionar novas funcionalidades a ela.
Outras são mais "puras", sendo construídas do zero focando-se sempre nas ideias por trás da orientação a objetos como é o caso das linguagens Smalltalk, Self e IO, onde TUDO é orientado a objetos.
Programação Procedural
O termo Programação procedural (ou programação procedimental) é às vezes utilizado como sinônimo de Programação imperativa (Paradigma de programação que especifica os passos que um programa deve seguir para alcançar um estado desejado), mas o termo pode se referir (como neste artigo) a um paradigma de programação baseado no conceito de chamadas a procedimento (en: procedure call). Os Procedimentos, também conhecidos como rotinas, sub-rotinas, métodos, ou funções (que não devem ser confundidas com funções matemáticas, mas são similares àquelas usadas na programação funcional) simplesmente contêm um conjunto de passos computacionais a serem executados. Um dado procedimento pode ser chamado a qualquer hora durante a execução de um programa, inclusive por outros procedimentos ou por si mesmo.
A programação procedural é geralmente uma escolha melhor que a programação sequencial e não estruturada em muitas situações que envolvem uma complexidade média e requerem facilidade de manutenção. Possíveis benefícios são:
A habilidade de reutilizar o mesmo código em diferentes lugares no programa sem copiá-lo
Uma forma mais fácil de organizar o fluxo do programa que uma coleção de comandos "goto (programação)" ou "jump" (que podem transformar um programa grande e complicado no assim chamado Código espaguete)
A habilidade de ser fortemente modular e estruturado
Paradigma de programação
É constituído em um modelo padrão ou estilo de programação suportado por linguagem que agrupam certas características comuns.
uma linguagem de programação é um método padronizado para expressar instruções para um computador. É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador.
Características de Paradigmas de Programação
 
Gramatica e significado bem definidos [sintaxe: gramatica (forma);semântica: significado]
Implementável (executável) com eficiência "aceitável"
Universal: deve ser possível expressar todo problema computável.
Programação Procedural
É um paradigma de programação baseado no conceito de chamadas a procedimentos, também conhecidos como rotinas, sub-rotinas, métodos, ou funções, que simplesmente contém um conjunto de passos computacionais a serem executados. Um dado procedimento pode ser chamado a qualquer hora durante a execução de um programa, inclusive por outros procedimentos ou por si mesmo.
Esse paradigma ainda é muito usado, por ser mais fácil de compreender e normalmente programadores aprendem a desenvolver usando esse paradigma, ele pode ser eficiente para problemas simples e até para o aprendizado, mas não se prenda a esse tipo de paradigma, existem outros que são muito melhores do que esse.
Características:
- Conjunto de instruções organizado em blocos para executar determinada tarefa(funções).
- Conjuntos de funções agrupadas por funcionalidades em bibliotecas.
- Modelagem por meio de fluxograma e grande utilização de algoritmos.
- Extremamente técnico.
Algumas linguagens com esse paradigma:
- C
- Pascal
- Basic
- C++
- PHP
- Python
- Visual Basic
- Perl
Programação Orientada a Objetos
A orientação a objetos é o paradigma de programação predominante atualmente e está, aos poucos, substituindo a programação procedural, criada no inicio da década de 1960.
Nesse paradigma o programa é composto por objetos com propriedades (atributos) e operações (métodos) que podem ser executados por eles.
Todas as funcionalidades e atributos de cada entidade do sistema são armazenados em classe que representam essa entidade.
Normalmente, utilizamos a Unified Modeling Language (UML) para modelar soluções orientadas a objetos.
Características
 
Podemos definir objeto como abstração de um particular aspecto de interesse, incluindo não somente sua estrutura, como nos métodos tradicionais, mas também comportamento, regras, conhecimento, responsabilidades, ciclo de vida, intrínsecos ao aspecto em questão. Objetos com características comuns são agrupados em classes
Uma característica derivada da forma muito comum de hierarquia "é um", é a herança. Subclasses herdam estrutura e comportamento das subclasses às quais estão ligadas, evitando assim redundâncias e inconsistências. Deve-se observar a possibilidade de herança múltipla no caso em que uma subclasse pode ter relacionamento "é um" com mais de uma superclasse.
Os objetos existem em convívio com outros objetos, e não isoladamente. Assim, chama-se comportamento às ações e reações de um objeto, mudando de estado e trocando mensagens, em contato com os demais objetos. É sua atividade visível. É representado pelos chamados métodos, descritos para cada classe de objetos.
Outras características bastante interessantes, provenientes da área de inteligência artificial, são a representação de conhecimento e a definição de regras sobre objetos ou classes de objetos. É crescente a colaboração entre as áreas de orientação a objetos e de inteligência artificial, trazendo grandes contribuições a ambas.
Algumas linguagens com esse paradigma: 
- C++
- C#
- VB.NET
- Java
- Python
- Ruby
- Smalltalk
Programação Multiparadigma
Uma linguagem de programação multiparadigma é uma linguagem que suporta mais de um paradigma de programação. A ideia dessa linguagem é fornecer um framework no qual o programador possa trabalhar com vários estilos, misturando livremente construtores de diferentes paradigmas. O objetivo em se projetar linguagens deste tipo é reservar aos programadores a melhor ferramenta para determinado trabalho, admitindo que nenhum paradigma resolva todos os problemas da maneira mais elegante, ou mesmo eficiente.
As características da programação multiparadigma pode ser relaciona com a junção dos paradigmas de programação que ela reúne, ou seja, ela une todas as características dos paradigmas de programação que ela engloba.
Algumas linguagens com esse paradigma:
- Scala
- Oz
Programação Estruturada
Não existe uma definição universalmente aceita para a programação estruturada; ao 
contrário, existem várias escolas de pensamento que a conceituam.
No sentido mais restrito, o conceito de programação estruturada diz respeitoà forma do 
programa e do processo de codificação. É um conjunto de convenções que o programador pode seguir para produzir o código estruturado. As regras de codificação impõem limitações sobre o uso das estruturas básicas de controle, estruturas de composição modular e documentação.
Características: 
- Programação sem GO TO (eliminação completa ou parcial do comando GO TO)
- Programação com apenas três estruturas básicas de controle: sequência, seleção e iteração 
- Forma de um programa estruturado
- Aplicação de convenções de codificação estruturada a uma linguagem de programação específica
Algumas linguagens com esse paradigma: 
- Pascal
- C
Desenvolvimento
O desenvolvimento deste trabalho foi complexo pelo fato de que, o tema exigido na pesquisa são bem parecidos, assim dificultando o apontamento de funcionalidade, de cada um deles.
Conclusão
A programação orientada a objeto é reconhecida pela flexibilidade e fácil manutenção. A grande vantagem de softwares baseados em objetos é a sua fácil manutenção e atualização, enquanto que softwares baseados em programação procedural consomem tempo e são propensos a erros. 
A orientação a objeto esta conquistando espaço em muitas áreas, como programação, banco de dados, análise e design de sistemas, arquitetura de computadores, sistemas operacionais e sistemas especialistas..
Referencias 
Devmedia ,2013 
http://www.devmedia.com.br/os-4-pilares-da-programacao-orientada-a-objetos/9264
Wikilivros ,2015
http://www.dca.fee.unicamp.br/cursos/PooJava/Aulas/poojava.pdf

Continue navegando