Livro Programação de Software Java - Por Célio Azevedo

Embed Size (px)

DESCRIPTION

Livro Programação de Software Java - Por Célio Azevedo.

Text of Livro Programação de Software Java - Por Célio Azevedo

  • PROGRAMAO JAVA

    CONCEITOS DE PROGRAMAO

    ORIENTAO A OBJETOS

  • O QUE PROGRAMAO

    Uma linguagem de programao um mtodo padronizado para expressar instrues para um computador. um conjunto de regras sintticas e semnticas usadas para definir um programa de computador.

    Uma linguagem permite que um programador especifique precisamente sobre quais dados um computador vai atuar, como estes dados sero armazenados ou transmitidos e quais aes devem ser tomadas sob vrias circunstncias.

    O conjunto de palavras constitui o cdigo fonte de um software. Esse cdigo fonte depois traduzido para cdigo de mquina, que executado pelo processador.

    Uma das principais metas das linguagens de programao permitir que programadores tenham mais produtividade, permitindo expressar suas intenes mais facilmente do que quando comparado com a linguagem de mquina. Assim, linguagens de programao so projetadas para que possam ser mais facilmente entendidas por programadores, sendo ferramentas para que programadores possam escrever programas mais organizados e com maior rapidez.

  • INTERPRETAO E COMPILAO

    Uma linguagem de programao pode ser convertida, ou traduzida, em cdigo de mquina por compilao ou interpretao, que juntas podem ser chamadas de traduo.

    Se o mtodo utilizado traduz todo o texto do programa (tambm chamado de cdigo), para s depois executar o programa, ento diz-se que o programa foi compilado e que o mecanismo utilizado para a traduo um compilador (que por sua vez nada mais do que um programa).

    A verso compilada do programa tipicamente armazenada, de forma que o programa possa ser executado um nmero indefinido de vezes sem que seja necessria nova compilao, o que compensa o tempo gasto na compilao.

  • CONCEITOS DE PROGRAMAO

    Programao estruturada

    Programao estruturada uma forma de programao de

    computadores que preconiza que todos os programas possveis

    podem ser reduzidos a apenas trs estruturas: seqncia, deciso

    e iterao. A Programao estruturada orienta os programadores

    para a criao de estruturas simples em seus programas, usando

    as sub-rotinas e as funes. Apesar de ter sido sucedida pela

    programao orientada por objetos, pode-se dizer que a

    programao estruturada ainda marcantemente influente, uma

    vez que grande parte das pessoas ainda aprendem programao

    atravs dela. Porm, a orientao a objetos superou o uso das

    linguagens estruturadas no mercado.

    Cobol, PHP, Perl e Python C so exemplos.

  • PROGRAMAO ORIENTADA A OBJETOS

    Orientao a objetos, tambm conhecida como Programao Orientada a Objetos um paradigma de anlise, projeto e programao de sistemas de software baseado na composio e interao entre diversas unidades de software chamadas de objetos. Em alguns contextos, prefere-se usar modelagem orientada ao objeto, em vez de programao.

    O funcionamento deste sistema se d atravs do relacionamento e troca de mensagens entre estes objetos. Na programao orientada a objetos, implementa-se um conjunto de classes que definem os objetos presentes no sistema de software. Cada classe determina o comportamento atravs de mtodos e atributos de seus objetos, assim como o relacionamento com outros objetos.

    C++, C, VB.NET, Java, Object Pascal, Objective-C, SuperCollider, Ruby e Smalltalk so exemplos.

  • JAVA

    uma linguagem de programao orientada a objetos desenvolvida na dcada de 1990 por uma equipe de programadores chefiada por James Gosling, na empresa Sun Microsystems. Hoje, vendida para a Oracle. 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.

  • ESTRUTURA DE UM BYTECODE

  • APPLETS, APLICAO E APPLETVIEWER

    O que uma APPLET?

    Applet um programa especial escrito em Java adaptado para instalao e

    execuo dentro de pginas HTML. Estas pginas podem ento ser visualizadas

    num browser.

    O que uma APLICAO?

    Aplicao um programa mais geral escrito na linguagem Java. No requer um

    browser para sua execuo. De fato, Java pode ser usada para criar todo tipo de

    aplicaes que usualmente voc implementa com outras linguagens mais

    convencionais.

    O que o APPLETVIEWER?

    O Appletviewer que mostra apenas a rea onde executada applet. Depois de

    testar bem seu cdigo com o Appletviewer.

  • APPLET EM HTML

    Java

    Disparadas quando se carrega a pgina HTML

  • EXERCCIO

    Criar no Notepad (Bloco de notas) um arquivo que contenha o seguinte contedo:

    class helloworld {

    public static void main (String args[]) {

    System.out.println(Hello World!);

    }

    }

    No se esquea de salvar o arquivo como todos os arquivos com o seguinte nome: helloworld.java

  • COMPILANDO

    Para compilar a aplicao, basta digitar o comando no prompt:

    javac helloworld.java

    Este comando ir gerar o arquivo helloworld.class, que o bytecode da aplicao. Para executar o bytecode , basta digitar o comando:

    java helloworld

  • CASO SEJA NECESSRIO

    Configure o caminho do Java no prompt ou na variveis de ambiente em

    sistema painel de controle do Windows:

    Ex:

    set path=%path%;C:\Program Files\Java\jdk1.7.0_07\bin

    Variveis de ambiente:

    path=%path%;C:\Program Files\Java\jdk1.7.0_07\bin

  • MQUINA VIRTUAL

    Em uma linguagem de programao como C e Pascal, temos a seguinte

    situao quando vamos compilar um programa:

  • CDIGO FONTE

    O cdigo fonte compilado para cdigo de mquina especfico de

    uma Plataforma sistema operacional.

    Muitas vezes o prprio cdigo fonte desenvolvido visando uma nica plataforma! Esse cdigo executvel (binrio) resultante ser executado

    pelo sistema operacional e, por esse motivo, ele deve saber

    conversar com o sistema operacional em questo.

  • UM POUCO MAIS SOBRE ORIENTAO A OBJETOS

    Existem, basicamente, duas metodologias de desenvolvimento de software:

    a Programao Estruturada e a Programao Orientada a Objetos.

    Na primeira, o objetivo consiste em separar os dados da funcionalidade do

    programa. Neste caso, as entidades so representadas de forma tal que

    satisfaam as restries da linguagem de programao utilizada. Isso acaba

    gerando programas que so difceis de manter e compreender, principalmente

    se eles forem muito grandes.

    Na segunda, a linguagem de programao que tem de satisfazer as restries

    e requisitos das entidades. Isso permite a construo de modelos mais

    realsticos do mundo, e, portanto, mais fceis de serem mantidos e

    compreendidos.

  • EXEMPLO REPRESENTAO DE UM CARRO

    Vamos tomar como exemplo a representao de um carro. Vamos descobrir que cada

    metodologia modela de forma diferente esse carro.

    Na Programao Estruturada, por exemplo, um carro representado por um conjunto de

    funes responsveis por ligar, frear, estacionar, acelerar e assim por diante. Um conjunto

    separado de variveis define a cor do carro, seu modelo, fabricante e demais caractersticas.

    Voc deve ento inicializar (atribuir valores) s variveis do carro e chamar algumas das

    funes para manipular estas variveis para que o carro funcione.

    J na Programao Orientada a Objetos, o carro visto como uma integrao de seus

    comportamentos (suas funes) e atributos (variveis) que mantm o estado atual do carro.

    A integrao destes atributos e comportamentos resulta em um objeto. A criao deste

    objeto simples e faz com que ele seja inicializado ao mesmo tempo sem comandos

    adicionais.

  • BIBLIOTECAS

    Isto , temos um cdigo executvel para cada sistema operacional. necessrio

    compilar uma vez para Windows, outra para o Linux, e assim por diante, caso a

    gente queira que esse nosso software possa ser utilizado em vrias plataformas.

    Esse o caso de aplicativos como o OpenOffice, Firefox e outros.

    A sua aplicao se utiliza das bibliotecas do sistema operacional, como, por

    exemplo, a de interface grfica para desenhar as telas. A biblioteca de interface

    grfica do Windows bem diferente das do Linux.

    Precisamos ento reescrever um mesmo pedao da aplicao para diferentes

    sistemas operacionais, j que eles no so compatveis.

  • BYTECODE JAVA E SUA VANTAGEM

    J o Java utiliza do conceito de mquina virtual, onde existe

    entre o sistema operacional e a aplicao, uma camada extra

    responsvel por interpretar o que sua aplicao deseja fazer

    para as respectivas chamadas do sistema operacional onde

    ela est rodando no momento.

  • DIAGRAMA BYTECODE

  • JVM JAVA VIRTUAL MACHINE

    Seu programa ganha independncia de sistema operacional. Ou, melhor ainda,

    independncia de plataforma em geral: no preciso se preocupar em qual

    sistema operacional sua aplicao est rodando, nem em que tipo de

    Mquina, configuraes, etc.

    Mquina virtual um conceito bem mais amplo que o de um interpretador.

    Como o prprio nome diz, uma mquina virtual como um computador de

    mentira": tem tudo que um computador tem. Sua aplicao roda sem nenhum

    envolvimento com o sistema operacional! Apenas conversando com a Java

    Virtual Machine (JVM).

  • VARIVEIS

    Variveis so alocaes de memria nas quais

    podemos guardar dados. Elas tm um nome,

    tipo e valor. Toda vez que necessite usar de

    uma v