Você está na página 1de 8

Faculdade Cambury Disciplina: Orientao e Organizao de Computadores Professor: talo Dutra Acadmicos: Daniel Oliveira Dourado Diego Veloso

Vieira Eliane Gonalves da Costa

Data 20/09/2011

Introduo (Falta fazer) ndice (Falta fazer)

Linguagem de Programao Java


Java uma linguagem de programao orientada a objeto desenvolvida na dcada de 90 por uma equipe de programadores chefiada por James Gosling, criada no Projeto Green na empresa Sun Microsystems. Diferentemente das linguagens convencionais, que so compiladas para cdigo nativo, a linguagem Java compilada para um bytecode que executado por uma mquina virtual. A linguagem de programao Java a linguagem convencional da Plataforma Java, mas no sua nica linguagem. O JAVA evolui do C++ que por sua vez uma programao construda em cima da linguagem C. Uma das contribuies mais importante da revoluo dos microprocessadores at agora que ele tornou possvel o desenvolvimento de computadores pessoais. Java em Vrios Sabores: J2SE Desenvolvimento bsico e para aplicaes Desktop, J2EE Aplicaes corporativas em servidores (WEB), J2ME Aplicaes wireless e dispositivos mveis Caractersticas Bsicas de Java: Concisa e simples No contm redundncias e fcil de entender, implementar e usar. Parecida com C++ para facilitar compreenso por grande parte de programadores. uma evoluo de C++: no suporta aritmtica de ponteiros, registros, etc.

Orientada a objetos Suporta os principais conceitos de orientao a objetos. Favorece extensibilidade e reusabilidade. Roda sobre uma mquina virtual (JVM) Gratuita Aplicaes em Java precisam de uma mquina virtual,fazendo de Java uma plataforma extremamente econmica para desenvolverodres e usurios finais. Robusta Fortemente tipada. Programas so confiveis. Reduz imprevistos em tempo de execuo: variveis so automaticamente inicializadas, uso disciplinado de ponteiros, rotinas devem ser chamadas corretamente, etc. Portvel Aplicaes funcionam do mesmo jeito em qualquer ambiente. Completamente especificada. No contm aspectos dependentes da implementao: o tamanho dos tipos fixo para qualquer implementao, etc. Segura e estvel Restries de acesso a arquivos, manipulao de ponteiros, etc. Implica que no til para desenvolver certas aplicaoes como `device drivers'. Concorrente Suporta aplicaes concorrentes: multithreads, monitores, execuo atmica.Por outro lado as principais caractersticas da implementao atual de Java so as seguintes: Independente de plataforma

Cdigo gerado pelo compilador funciona em qualquer ambiente. Gerao de bytecode que pode ser interpretado para qualquer arquitetura e sistema operacional tendo o sistema Java. Facilita distribuio de software. Tem bibliotecas prontas para diversas aplicaes As bibliotecas de classes de Java contem vrias classes que implementam diversos mecanismos de entrada e sada, acesso Internet, poderosa estruturta de dados, utilitrios diversos e um conjunto completo de classers para implementao de interfaces grficas. Compilada Utilizando compiladores, bytecodes podem ser traduzidos em tempo de execuo para cdigo de mquina.

Programa de Orientao a Objetos OOP Existe desde o final de 70. Algumas linguagens evoluram para se tornarem orientadas a objetos. (PHP).Definem pequenas unidades de trabalhos que interagem entre si para criar um trabalho maior. A OO mais intuitiva e fcil de aprender do que as tcnicas tradicionais,pois foca o problema em conceitos do mundo real. Dentre as vantagens que a OO proporciona, podemos destacar: Aumento de produtividade Reuso de cdigo Reduo das linhas de cdigo programadas Separao de responsabilidades componentizao Maior flexibilidade do sistema Escalabilidade Facilidade na manuteno, dentre outras vantagens.

A OO introduz e enfatiza os seguintes conceitos: Objeto Mensagem Classe Abstrao Encapsulamento Herana Polimorfismo

Objetos so a chave para se compreender a tecnologia orientada a objetos. Voc olha ao seu redor e tudo o que v so objetos: carro, mesa,janela, livro, pessoa, etc. Os objetos do mundo real tm duas caractersticas em comum: estado e comportamento. Estado de um objeto revela seus dados importantes. Por exemplo, uma pessoa tem: idade, peso, altura, cor de cabelo, cor da pele. Comportamento so as aes que aquele objeto pode exercer ou executar. Por exemplo, uma pessoa pode: andar, falar, ouvir, pular.

Mensagem: Um objeto por si s no significa muito em um sistema. Para ter algum sentido e valor esses objetos precisam interagir e comunicar-se entre si. Os objetos se comunicam por meio de mensagens.Quando um objeto A quer se comunicar com um objeto B enviada uma mensagem de A para B.

Classe: As classes so tipos que podem ser criados. Por definio: Uma classe um modelo (prottipo) que define as variveis (estado) e os mtodos (comportamento) comuns a todos os objetos do mesmo tipo No mundo real freqentemente percebemos vrios objetos de um mesmo tipo. Por exemplo: seu carro um dos muitos carros existentes no mundo.

Usando a terminologia OO, dizemos que um carro em particular uma instncia da classe de objetos conhecida como carros. Os carros, em geral, possuem estado (cor, potncia do motor combustvel) e comportamento (ligar, acelerar, brecar, mudar marcha) em comum. O estado de cada carro independente e pode ser diferente do estado dos outros carros. Cada carro pode ter uma cor diferentes, por exemplo. A partir dessas semelhanas, os fabricantes de veculos tiram vantagem disso para padronizar a construo de carros de um mesmo tipo, definindo um modelo nico com caractersticas iguais para todos os carros a serem produzidos. Na Orientao a Objetos tambm possvel ter vrios objetos do mesmo tipo, que compartilham caractersticas em comum. Tirando vantagem dessa semelhana entre alguns objetos, tambm possvel criar modelos para esses objetos. Esse modelo chamado de classe. As classes so tipos que podem ser criados. Por definio: Uma classe um modelo (prottipo) que define asvariveis (estado) e os mtodos (comportamento) comuns a todos os objetos do mesmo tipo.

Abstrao a habilidade e a capacidade de se modelar conceitos, entidades, elementos, problemas e caractersticas do mundo real, de um domnio do problema em questo, levando-se em conta apenas os detalhes importantes para a resoluo do problema e desprezando coisas que no tm importncia no contexto. Se pensarmos no conceito de conta corrente bancria e abstrairmos este conceito, podemos identificar detalhes comuns, como o nmero da conta, nmero da agncia e saldo; e operaes como dbito em conta, depsito e extrato da conta. Basicamente essas so as caractersticas de conta corrente para todos os bancos, apesar de um ou outro banco ter uma poltica de descontos de taxas etc.

Encapsulamento o mecanismo utilizado para disponibilizar mtodos que operam sobre os dados e que protegem o acesso direto indevido aos atributos de uma instncia fora da classe onde estes foram declarados.

Esta proteo consiste em se usar modificadores de acesso mais restritivos sobre os atributos definidos na classe e fornecendo mtodos que alteram os valores destes atributos de alguma forma. O encapsulamento ajuda a prevenir o problema de interferncia externa indevida sobre os dados de um objeto, como objetos que possam alterar os dados de outros objetos indevidamente

Herana um mecanismo da OO que permite criar novas classes a partir de classes j existentes, aproveitando-se das caractersticas existentes na classe a ser extendida. Este mecanismo muito interessante pois promove um grande reuso e reaproveitamento de cdigo existente. Com a herana possvel criar classes derivadas (subclasses) a partir de classes bases (superclasses). As subclasses so mais especializadas do que as suas superclasses, mais genricas. As suclasses herdam todas as caractersticas de suas superclasses, como suas variveis e mtodos Imagine que dentro de uma organizao empresarial, o sistema de RH tenha que trabalhar com os diferentes nveis hierrquicos da empresa, desde o funcionrio de baixo escalo at o seu presidente. Todos so funcionrios da empresa, porm cada um com um cargo diferente. Mesmo a secretria, o pessoal da limpeza, o diretor e o presidente possuem um nmero de identificao, alm de salrio e outras caractersticas em comum. Essas caractersticas em comum podem ser reunidas em um tipo de classe em comum, e cada nvel da hierarquia ser tratado como um novo tipo, mas aproveitando-se dos tipos j criados, atravs da herana.

Poliformismo Formalmente polimorfismo quer dizer vrias formas. No caso da OO, polimorfismo denota uma situao na qual um

objeto pode se comportar de maneiras diferentes ao receber uma mensagem, dependendo do seu tipo de criao. O poliformismo alcanado com auxlio do uso de herana nas classes e a reescrita (overriding) de mtodos das superclasses nas suas subclasses. Duas subclasses de uma mesma classe podem ter implementaes completamente diferentes de um mesmo mtodo, o que leva os objetos a se comportarem de forma diferente, dependendo do seu tipo (classe).

Podemos imaginar um programa que faa a impresso de um relatrio, por meio de uma classe chamada Impressora, que uma interface de acesso s funcionalidades da impressora usada, por meio de um driver fornecido pelo fabricante. Uma impressora a laser tem um mecanismo de impresso totalmente diferente de uma impressora a jato de tinta, mas isso no importa para o programa. Ele manda uma simples mensagem de imprimir para a impressora, e o modo como a impressora imprime no papel varia de acordo com o tipo de impressora usada, ou seja, a impresso se d de formas diferentes para a mesma mensagem de imprimir.