You are on page 1of 4

Sistemas de Informao 4 Perodo Programao Orientada a Objetos

Captulo 01 POO e Java


Sumrio
1. 2. Programao Orientada a Objetos Programao Java

Gill Mayeron Duarte

Pgina 1

Sistemas de Informao 4 Perodo Programao Orientada a Objetos

1.

Programao Orientada a Objetos

.A programao orientada a objetos (ou, abreviadamente, POO) o paradigma de programao dominante nos dias de hoje, substituindo tcnicas de programao procedimental, "estruturadas", que foram desenvolvidas no comeo dos anos 1970. Linguagens como .Net e Java so totalmente orientadas a objetos, e impossvel programar nessas linguagens com o estilo procedimental, com o qual voc pode estar mais familiarizado. Foi graas a POO por exemplo que: o O Sistema Operacional Windows, pde ser construdo e que uma gama enorme da aplicativos pde ser construda de forma prtica e rpida, tirando proveito de muitas facilidades oferecidas por ele aos programadores; o Foi possvel desenvolver jogos como o Counter strike o Foi possvel ao cineasta Peter Jackson criar atravs da Computao Grafia as incrveis batalhas da Trilogia do Senhor dos Ans Como um mero paradigma de programao pde se tornar to popular como a POO se tornou nos ltimos anos e possibilitar tantas coisas que na poca de seu surgimento poderiam ser consideradas mera fantasia? Para entender isso, precisamos entender o que POO. Comecemos com uma questo que, superficialmente, parece no ter nada a ver com programao: Como foi que empresas como a Compaq, a Dell, a Gateway e os outros grandes fabricantes de computadores pessoais tiveram tanto sucesso to rapidamente? A maioria das pessoas provavelmente diria que elas faziam computadores bons, no geral, e os vendiam a preos extremamente baixos, em uma poca em que a demanda por computadores estava indo s alturas. Mas v um pouco alm - como elas conseguiram fabricar tantos modelos to rapidamente e responder to prontamente s mudanas que estavam acontecendo? Bom, uma parte significativa da resposta que essas empresas otirnizaram grande parte do trabalho. Elas compravam componentes de fabricantes confiveis e depois simplesmente montavam esses componentes. Na maioria dos casos, elas no investiam tempo nem dinheiro na elaborao e construo de fontes de energia, discos rgidos, placas-me e outros componentes. Isso possibilitou que as companhias fizessem um produto e realizassem modificaes rapidamente, por um custo menor do que se elas tivessem feito tambm a parte de engenharia. O que os fabricantes de computadores pessoais estavam comprando era "funcionalidade pr-fabricada". Por exemplo, quando eles compravam uma fonte de energia, estavam comprando algo com certas propriedades (tamanho, forma e assim por diante) e com uma certa funcionalidade (sada de energia continua, quantia total de energia disponvel e assim por diante). A Compaq um bom exemplo do quanto esse procedimento operacional eficiente. Quando a Compaq deixou de fabricar ela mesma a maioria das peas de suas mquinas e passou a comprar a maioria das peas, ela melhorou significativamente seu faturamento. A POO surge da mesma idia. Seu programa feito de objetos, com certas propriedades e operaes que os objetos podem realizar. A questo relativa a se voc constri um objeto ou o compra poderia depender de seu oramento ou do tempo. Mas, basicamente, se preocupa somente com o que os objetos expem. Ento, da mesma forma como os fabricantes de computadores no se preocupam com o funcionamento interno de uma fonte de energia, desde que ela faa o que os fabricantes querem, a maioria dos programadores em Java no se preocupa sobre como um objeto implementado, desde que ele faa o que eles querem. A programao estruturada tradicional consiste da elaborao de um conjunto de procedimentos (ou algoritmos) para resolver um problema. Depois dos procedimentos serem determinados, o passo seguinte tradicionalmente era achar formas apropriadas de se armazenarem os dados. por isso que o inventor da linguagem Pascal, Niklaus Wlrth, deu a seu famoso livro sobre programao o ttulo de Alaorit!lms + Data Structures = Programs (Prentice Hall, 1975). Repare que, no ttulo de Wirth, os algoritmos vm primeiro, e as estruturas de dados em segundo lugar. Isso espelha a maneira como os programadores

Gill Mayeron Duarte

Pgina 2

Sistemas de Informao 4 Perodo Programao Orientada a Objetos


trabalhavam nessa poca. Primeiramente, voc decidia como manipular os dados; em seguida, decidia qual estrutura impor aos dados para tomar mais fceis as manipulaes. A OOP inverte a ordem e pe os dados em primeiro lugar, e s depois considera os algoritrnos que operam sobre os dados. Uma outra caracterstica interessante da POO a abstrao. Com isso queremos dizer, que POO procura aproximar o modelo de que est sendo representado dentro do computador da realidade, aproximando mais a soluo computacional do problema que ela deve resolver, pois no existe a necessidade de um sistema de informao se ele no tiver uma tarefa a desempenhar.

Nveis de Abstrao
Ato Mundo Real

Quanto mais prxima do mundo real a programao se encontra, mais fcil o desenvolvimento...

Baixo Mundo Computacional

Ilustrao 1 Nveis de abstrao


No raro analistas e desenvolvedores preocuparem-se exageradamente com detalhes tcnicos da implementao de um determinado sistema e se esquecerem completamente do problema que aquele sistema precisa solucionar. A POO procura evitar que isto acontea. Mas no adianta nada termos um excelente paradigma de programao, sem podermos coloca-lo em prtica no mundo real. E exatamente ai que entram as linguagens de programao, em especial, uma delas, que desde o seu surgimento tria proveito das vantagens da orientao a objeto, sendo inclusive, sendo adotada em instituies do mundo inteiro com linguagem para se ensinar POO a j mencionada linguagem Java.

2. Programao Java
A linguagem de programao Java concorrente, baseada em classes, orientada a objetos e de propsito geral. Ela foi desenvolvida para ser simples o suficiente de maneira que vrios programadores possam adquirir fluncia no uso. A linguagem Java, quanto sintaxe, semelhante ao C e C++, contudo, organizada de maneira diferente, com um nmero de aspectos do C e C++ omitidos e algumas idias de outras linguagens includas. A linguagem Java tem o objetivo de ser uma linguagem para produo, assim como C, e no uma linguagem de pesquisa. A linguagem de programao Java relativamente de alto nvel, uma vez que detalhes da representao da mquina no ficam disponveis por meio da linguagem. Ela inclui

Gill Mayeron Duarte

Pgina 3

Sistemas de Informao 4 Perodo Programao Orientada a Objetos


gerenciamento automtico de armazenamento, tipicamente usa coletor de lixo para evitar problemas com liberao de memria (como no free do C e delete do C++). Com 3 milhes de desenvolvedores e cerca de 500 grupos de usurios espalhados por 93% dos pases do mundo, Java, a linguagem de desenvolvimento da Sun Microsystems, especialmente em sua tecnologia Enterprise Edition (J2EE), consolidase cada vez mais como linguagem de desenvolvimento para internet. E o mais importante: so resultados alcanados pela constante preocupao em desenvolvimento padronizado, com qualidade, baixo custo e singular preocupao com a liberdade de escolha, ainda mais agora que a linguagem recentemente tornou-se open-source.

Gill Mayeron Duarte

Pgina 4