Programação Orientada a Objetos/Introdução: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
m moveu Programação orientada a objetos/O que é para Programação Orientada a Objetos/Introdução: preparando para fundir históricos de colaboração
m Restaurando a versão mais recente do conteúdo (antes da fusão de históricos)
Linha 1:
== O que é Orientação a Objetos ==
{{ER|conteúdo movido para [[Programação orientada a objetos/Apresentando a Orientação a Objetos]]|--[[Usuário:Wbrito|Wellington Brito de Carvalho]] ([[Usuário Discussão:Wbrito|Discussão]]) 15h21min de 26 de Junho de 2010 (UTC)a}}
 
'''Orientação a objetos (OO)''', em uma definição formal, é um [[w:paradigma|paradigma]] de análise, projecto e programação de sistemas de software baseado na composição e interação entre diversas unidades de software chamadas de ''objetos''. Ou seja, é um modelo utilizado no desenvolvimento de software onde trabalhamos com unidades chamadas ''objetos'' (que serão explicados mais adiante). Este modelo visa, principalmente, organização, desempenho, sustentabilidade e reutilização do software.
 
Como veremos, a orientação a objetos visa um pensamento o mais próximo possível da vida real.
Ao programar orientado a objetos não teremos apenas funções que são chamadas uma seguida da outra, mas sim '''objetos''' que possuem '''estado''' e '''comportamento'''.
 
Tudo isso será melhor detalhado no decorrer dos capítulos do livro.
 
 
== Porque programar orientado a objetos ==
 
A '''Programação Orientada a Objetos (POO)''', foi criada para tentar aproximar o mundo real e o mundo virtual: a idéia fundamental é tentar simular o mundo real dentro do computador. Para isso, nada mais natural do que utilizar '''objetos''', afinal, nosso mundo é composto de objetos, certo?
 
Na Programação Orientada a Objetos, o programador (você) é responsável por moldar o mundo dos objetos, e definir como os objetos devem interagir entre si. Os objetos "conversam" uns com os outros através do envio de mensagens, e o papel principal do programador é definir quais serão as mensagens que cada objeto pode receber, e também qual a ação que o objeto deve realizar ao receber cada mensagem.
 
Isso possibilita a criação de códigos com baixo acoplamento (explicado mais adiante) e que podem ser facilmente reutilizados, o que são alguns dos principais motivos para se programar orientado a objetos.
 
 
== História ==
 
O termo Programação Orientada a Objetos (POO) foi criado por [[w:Alan Kay|Alan Kay]], autor da linguagem de programação Smalltalk. Mas mesmo antes da criação do Smalltalk, algumas das idéias da POO já eram aplicadas, sendo que a primeira linguagem a realmente utilizar estas idéias foi a linguagem Simula 67, criada por [[w:Ole-Johan Dahl|Ole-Johan Dahl]] e [[w:Kristen Nygaard|Kristen Nygaard]] em 1967. Entretanto só veio a ser aceito realmente nas grandes empresas de desenvolvimento de Software por volta dos anos 90.
 
Alguns exemplos de linguagens orientadas a objetos modernas utilizadas por grandes empresas em todo o mundo são: Java, C#, C++, Object Pascal (Delphi), Ruby, Python, Lisp, etc.
 
A maioria das linguagens que adotaram o paradigma da orientação a objetos adotaram apenas parcialmente, dando espaço para o antigo modelo procedural de programação, como acontece na linguagem 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 idéias por trás da orientação a objetos como é o caso das linguagens Smalltalk, Self e IO, onde tudo é orientado a objetos.
 
 
== Links externos ==
 
[http://melhoragora.org/2007/04/08/orientacao-a-objetos-historico/ Oritenação a Objetos: Histórico]
 
 
[[Categoria:Programação orientada a objetos]]