SlideShare une entreprise Scribd logo
1  sur  54
Télécharger pour lire hors ligne
ANDRÉ J. A. RAMOS, DESENVOLVEDOR andre-rammos@hotmail.com
PROGRAMAÇÃO EM JAVA
 HISTORIA DO JAVA
 A linguagem Java surgiu a partir de
uma pesquisa financiada pela Sun
Microsystems em 1991, iniciada sob
o codinome de projeto Green.
 Com o intuito de se tornar uma
linguagem para dispositivos
inteligentes destinados ao usuário
final e com a premissa de ser uma
linguagem próxima as linguagens C e
C++ e que pudesse ser executado em
diversos hardwares.
Protótipo Star 7 do Projeto Green
 A princípio, o projeto não teve bons
resultados devido à lentidão do
crescimento da área de dispositivos
eletrônicos inteligentes, porém com a
grande revolução da World Wide
Web em 1993, logo se notou o
potencial da linguagem para geração
de conteúdo interativo e dinâmico, o
que deu nova força ao projeto.
 Inicialmente o Java foi chamado de
Oak por seu criador (James Gosling)
em homenagem a uma árvore que
dava para a janela do seu escritório
na Sun. Descobriu-se mais tarde que
já havia uma linguagem de
computador chamada Oak. Quando
uma equipe da Sun visitou uma
cafeteria local, o nome Java (cidade
de origem de um tipo de café
importado) foi sugerido e pegou.
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
PROGRAMAÇÃO EM JAVA
 Em março de 1995 foi anunciado no
evento SunWorld a tecnologia Java
1.0, inicialmente o foco principal da
tecnologia utilizado para divulgação
foram os Applets, pequenas
aplicações que poderiam ser
executadas via web através de um
browser.
 Em 1998 foi lançado a versão 1.2
(codinome “Playground”) da
linguagem Java, está nova versão
trouxe uma quantidade muito grande
de novas funcionalidades, essa
alteração foi tão grande que a pessoa
do marketing começou a chamar de
Java 2.
 As versões 1.3 (codinome “Kestrel”)
lançada em 2000 e 1.4 (codinome
“Merlin”) lançada em 2002 continuaram
sendo chamado de Java 2, pois houveram
alterações e melhorias na linguagem mas
não tão grandes como na versão 1.2.
 Na versão 1.5 lançada em 2004 o pessoal
resolveu mudar novamente chamando de
Java 5 (codinome “Tiger”), a partir desta
versão foi padronizado as novas
atualizações.
 Em 2006 o Java 6 (codinome “Mustang”) e
atualmente o Java está na versão 6 update
26 e a versão 7 tem o codinome
“Dolphin”.
 Java também é uma linguagem Open
Source e não possui um único dono, todas
novas atualizações da linguagem são feitas
através da JCP (Java Community Process),
formada por um conjunto de empresas
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Atualidades
 Em 2009 a ORACLE
anunciou a aquisição
da Sun Microsystems
no valor de US$ 7,4
bilhões.
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Características-chave
• Simples:
A sintaxe do Java é, de fato, uma versão limpa do C++. Não há necessidade
de arquivos de cabeçalho, aritmética de ponteiro (ou mesmo uma sintaxe de
ponteiros).
• Orientado a objetos:
Os recursos orientados a objetos do java são comparáveis aos do C++. A
principal diferença entre eles está na herança múltipla, que o java substituiu pelo
conceito de interface (explicaremos mais a frente).
• Portabilidade:
Independe de plataforma.
• Interpretado:
Os bytecodes gerados pelo compilador são convertidos em códigos de
máquina pela JVM.
• Java e a internet:
Os programas Java que funcionam em páginas web são chamados Applets.
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Processo de escrita compilação
e execução do código
Compilador
(JDK)
CÓDIGO - FONTE BYTECODES
JVM
GUI
Console
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Portabilidade
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Versão Ano Novos recurso da linguagem Nº de classes e
interfaces
1.0 1996 A própria linguagem 211
1.1 1997 Classes internas 477
1.2 1998 Nenhum 1.524
1.3 2000 Nenhum 1.840
1.4 2002 Assertivas 2.723
5.0 2004 Classes genéricas, loop “for each”,
varargs, autoboxing, metadados,
enumerações, importações estáticas.
3.279
6 2006 Nenhum 3.777
Evolução da linguagem Java
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Nome Sigla Explicação
Java Development Kit JDK Software para programadores que querem escrever
programas em Java.
Java Runtime Environment JRE Software para consumidores que querem executar
programas Java.
Standard Edition SE Plataforma Java para uso em desktop e aplicativos simples
de servidor.
Enterprise Edition EE Plataforma Java para aplicativos complexos de servidor.
Micro Edition ME Plataforma Java para uso em celulares e outros pequenos
dispositivos.
Java 2 J2 Termo antiquado que descrevia as versões do Java entre
1998 e 2006.
Software Development Kit SDK Termo antiquado que descrevia o JDK entre 1998 e 2006.
NetBeans ---- Ambiente de desenvolvimento integrado da Sun.
Eclipse ---- Ambiente de desenvolvimento integrado mais utilizado.
 Jargão Java
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Depois do JDK ser instalado é necessário configurar algumas coisas.
Instalando o JDK e configurando a variável
de ambiente Path no windows
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Compilando & executando
em linhas de comando
No diretório onde o arquivo .java estiver, digite:
javac NomeDoArquivo.java
Esse comando compila, e cria um arquivo .class. Em seguida, digite:
Java NomeDoArquivo
Esse comando executa o aplicativo.
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Fazendo um projeto no eclipse
Na barra de menu click em
File > New > Java Project
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Dê um nome ao
projeto e
click em Finish
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Após o projeto ser criado estenda a pasta e clique na pasta
src com o botão direito do mouse.
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Crie um novo pacote (Package).
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Dê um nome ao
pacote e
clique em Finish
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
No pacote crie uma nova classe
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Dê um nome a sua classe
(com a inicial maiúscula) e
clique em Finish
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Agora basta digitar o código na linguagem Java!!
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Um programa Java simples
• A linha 1 inicia uma declaração de classe nomeada de MinhaClasse;
• A linha 2 abre a classe que é fechada na linha 8;
• Na linha 3 é declarado o método principal chamado de main
(Principal). O programa é iniciado por ele;
Este programa apenas exibe a mensagem na Janela de comandos:
Bem-vindo ao Java!!
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Comentários
Comentários em uma linha:
// comentário em uma linha
Comentários em mais de uma linha:
/* comentário em
mais de
uma linha
*/
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Tipos de dados
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Variáveis
Declaração:
<Modificador de acesso> <Tipo> <nome da variável> = <valor inicial>;
Private int idade; //apenas declarando
Private int idadeInicial = 18; //declarando e atribuindo um valor
Regras:
O nome das variáveis não pode ser o mesmo de palavras reservadas, ter espaços
em branco nem começar com números.
Recomendações:
Por convenção recomenda-se que o nome das variáveis (Atributos) comecem
com letra minúscula e, a partir da segunda palavra a primeira letra esteja maiúscula,
isto ajuda o programador a diferenciá – la de nome de classes e constantes.
Ex: nomeDaVariavel
Nota: Modificadores de acesso são palavras que decidem se uma classe, um atributo, uma constante ou
um método poderão ser acessados por outras classes.
são eles: private, public, protect e abstract.
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Palavras Reservadas
As Palavras Reservadas, quer dizer que nenhuma das palavras da lista abaixo
podem ser usadas como identificadores, pois, todas elas foram reservadas para a
Linguagem Java.
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Constantes
Declaração:
<Modificador de acesso> final <Tipo> <nome da variável> = <valor
inicial>;
Private final double PI; //apenas declarando
Private final double PI = 3,14159265; //declarando e atribuindo um valor
Regras:
O nome das constantes não pode ser o mesmo de palavras
reservadas, ter espaços em branco nem começar com números.
Recomendações:
Por convenção recomenda-se que o nome das constantes esteja com
todas as letras maiúsculas, isto ajuda o programador a diferenciá–la de nomes
de classes e variáveis.
Ex: NOME_DA_CONSTANTE
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Operadores
Aritméticos: ++ incremento
+ Somar -- Decremento
- Subtrair Lógicos
* Multiplicar && AND
/ Dividir || OR
% Resto da divisão ! NOT
Relacionais
== IGUAL
!= DIFERENTE
> MAIOR QUE
< MENOR QUE
<= MENOR OU IGUAL
>= MAIOR OU IGUAL
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Strings
Conceitualmente, Strings são seqüência de caracteres Unicode. Por exemplo
a string “Bem-vindo ao Java” contém 15 caracteres.
Declarando strings e atribuindo valores:
Private String rot = “Meu nome é: ”;
Private String nome = “Fulano ”;
Concatenando Strings:
O Java, como a maioria das linguagens de programação, permite utilizar +
para agrupar (concatenar) strings.
Private String declaracao = rot + nome;
Se imprimir-mos a variável declaracao o programa irá exibir:
Meu nome é: Fulano
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Testando igualdade de strings:
Para testar se duas string são iguais, use o método equals(). A expressão
s.equals(t) retorna true se s e t forem iguais e false caso contrário.
Ex.::
String pai = “João”;
String filho = “José”;
if ( pai.equals(filho)) //maneira correta de comparar strings
System.out.println(“é igual”);
Para ignorar maiusculas e minúsculas utilize o método equalsIgnoreCase().
Ex.::
if (pai.equalsIgnoreCase(filho));
System.out.println(“é igual”);
Não utilize o operador == para testar igualdade de duas strings! Ele
determina se as strings são armazenadas na mesma localização, pois pode
acontecer que esteja.
Ex.::
if ( pai == filho) //maneira INCORRETA de comparar strings
System.out.println(“é igual”);
Strings
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Comandos E/S
Imprimindo em console:
O comando System.out.print(); imprimi mensagens no console.
Para impressão temos também:
println( ) – imprime e põem o cursor na próxima linha (usamos o operador
+ para concatenar strings e /ou variáveis);
printf( ) – impressão formatada (usamos tags marcadoras de posição de
variáveis).
Veja algumas tags e sua utilização:
Tag Utilização Exemplo Resultado
%d Marca posição de números
inteiros.
int x = 2;
Printf(“o dobro de 2 = %d ”, x * 2);
o dobro de 2 = 4
%f Marca posição de números
reais.
float y = 5;
Printf(“a metade de 5 = %d ”, y / 2);
a metade de 5 = 2,5
%s Marca posição de Strings String nome = “Fulano”;
Printf(“Meu nome é: %s ”, nome);
Meu nome é: Fulano
%c Marca posição de caracter char car = ‘A’;
Printf(“O nome começa com a letra %c”, car);
O nome começa com a letra A
%b Marca posição de boolean boolean logic = true;
Printf(“%b ”, logic);
true
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Usando a classe Scanner
para ler
Para ler dados do usuário digitados no teclado, utilizamos o método next()
da classe Scanner.
Para fazer isto, antes precisamos criar um objeto Scanner:
Scanner leitura = new Scanner(System.in);
O método next() retorna o que foi digitado, por isso devemos logo atribui-lo
a uma variável, assim:
String nome = leitura.next();
Utilizamos métodos diferentes de acordo com o tipo de dado a ser lido
next( ) – ler apenas uma palavra;
nextLine( ) – ler uma linha inteira;
nextInt( ) – ler um número inteiro;
nextFloat( ) – ler um número real;
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
import
O compilador utiliza as instruções import para localizar classes necessárias
para compilar um programa Java.
Ex.:: import java.util.Scanner;
Para cada nova classe da Java API que usamos, devemos indicamos o pacote
no qual você pode encontrar aquela classe. Esta informação sobre os pacotes
é importante.
Java importa automaticamente classes do pacote java.lang, como a classe
System. Portanto, não são necessárias instruções import para as classes que
estão no pacote java.lang.
Obs.:: Todas as instruções import devem aparecer antes da definição de
classe. Colocar uma instrução import dentro do corpo de definição de uma
classe ou depois de uma definição de classe é um erro de sintaxe.
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Imprimindo e lendo através de
caixas de Diálogo
A classe JOptionPane contém alguns métodos static que são usados para ler dados
e exibir mensagens por meio de caixas de diálogo. Conheça alguns:
JOptionPane.showMessageDialog(null,”Hello world!!”); - exibe mensagem
para o usuário;
JOptionPane.showInputDialog(”Qual o seu nome?”); - exibe mensagem
para o usuário e ao mesmo tempo retorna a string digitada por ele em um campo
de texto, por isso deve ser atribuído a uma variável do tipo String;
String nome = JOptionPane.showInputDialog(”Qual o seu nome?”);
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Fluxo de controle
Instruções condicionais (if, else, else-if):
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Fluxo de controle
Loops (while,do-while):
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Fluxo de controle
Loops determinantes (for):
Obs.:: O contador também pode ser declarado fora da estrutura.
Contador com valor inicial incrementoCondição do laço
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Fluxo de controle
seleções múltiplas (switch-case):
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Arrays (vetores e matrizes)
Declaração de vetores:
Tipo[] nomeDoVetor = new Tipo[TamanhoDoVetor];
Ex.::
int[] id = new int[15];
String[] nomes = new String[4];
Inicialização de vetores :
String[] nomes = {“fulano”, “josé”, “joão”, “maria”,};
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Arrays (vetores e matrizes)
Declaração de matrizes:
Tipo[][] nomeDaMatriz = new Tipo[nº de linhas] [nº de colunas];
Ex.::
int[][] id = new int[3][2];
String[][] nomes = new String[3][2];
Inicialização de matrizes :
String[][] nomes = {
{“fulano”, “josé”},
{ “joão”, “maria”,},
{ “james”, “Bond”} };
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Arrays (vetores e matrizes)
Usando for para preencher vetores:
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Introdução a
Programação Orientada a Objetos
Você já sabe que Java é uma linguagem de programação
orientada a objetos. Vamos entender o que isto significa.
Classe: Uma classe pode ser definida como um modelo que
descreve um conjunto de elementos que compartilham os
mesmos atributos, operações e relacionamentos.
– Ex.::
Veículo pode ser considerado uma classe, pois possui um conjunto de elementos
que compartilham os mesmos atributos (cor, portas, pneus, volante, para-
brisas, etc) e ações (acelerar, frear, estacionar, etc).
Objeto: É um elemento representante de uma classe, é uma
instância da classe.
Ex.::
Um carro é um objeto pertencente a classe Veículo.
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Classes em Java
Veiculo
Cor
numPortas
acelerar()
frear()
estacionar()
DIAGRAMA UML
CÓDIGO EM JAVAPara programar orientado a objetos você
precisa abstrair os atributos e comportamentos dos
objetos do mundo real, em seguida escrever o
código utilizando os recursos da linguagem Java.
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Objetos e variáveis-objeto
Construímos um objeto com a palavra new seguida da chamada ao
construtor da classe.
Ex.::
new Veiculo();
Podemos criar uma variável para armazenar esse objeto (por isso
são chamadas de variável-objeto). Essa variável precisa ser do tipo da classe
a que se refere.
Ex.::
Veiculo carro = new Veiculo();
Agora podemos usar essa variável-objeto.
Para chamar um método de um objeto é necessário enviar uma
mensagem para ele.
Ex.::
carro.acelerar();
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Métodos
Métodos são os comportamentos de um objeto. A declaração é feita
da seguinte forma:
modificador tipoDeRetorno nomeDoMetodo(Parâmetros)
{
instruções;
}
Ex.::
Uma vez desenvolvido esse método dentro de uma classe, para imprimir o dobro de
um número basta escrevermos:
O resultado será:
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Herança
A herança é o mecanismo de derivação através do qual uma classe
pode ser construída como extensão de outra. Neste processo, todos os
atributos e operações da classe base (superclasse) passam a valer, também,
para a classe derivada (subclasse), podendo esta última definir novos atributos
e operações que atendam suas especificidades.
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Herança
Em Java utilizamos a palavra extends para uma
subclasse Herdar os atributos e métodos de uma superclasse.
Ex.::
O conceito de herança evita que um mesmo código
seja digitado várias vezes para classes que tenham os
mesmos atributos e possuam o mesmo comportamento.
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Polimorfismo
• Polimorfismo é a característica que garante que um
determinado método possa produzir resultados diferentes
quando aplicado a objetos pertencentes a classes diferentes,
dentro de uma hierarquia de classes.
• Através do polimorfismo um mesmo nome de operação pode
ser compartilhado ao longo de uma hierarquia de classes, com
implementações distintas para cada uma das classes.
• Ex.:: Empregado
calcularSalario()
Mensalista
calcularSalario()
Tarefeiro
calcularSalario()
Horista
calcularSalario()
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Polimorfismo e Interfaces
Interface é um modo de descrever o que as classes devem fazer, sem
especificar como devem fazer.
Na linguagem de programação Java, uma interface não é uma classe,
mas um conjunto de requisitos para classes que precisam adequar-se a
ela.
Observe que o método da interface acima não está desenvolvido,
pois isso somente é feito na classe que a implementa. (implements)
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Encapsulamento
As classes normalmente ocultam os detalhes de sua
implementação dos clientes das classes. Isso se chama
encapsulamento ou ocultamento de informações.
Observação de engenharia de software.::
Os projetistas de classe utilizam dados private métodos public
para garantir a noção do ocultamento de informações e o princípio do
menor privilégio. Se o cliente de uma classe precisa acessar dados na
classe, forneça acesso por métodos public da classe. Fazendo isso, o
programador da classe controla como os dados da classe são
manipulados (por exemplo, a verificação da validade dos dados pode
impedir que os dados inválidos sejam armazenados em um objeto).
Este é o princípio do encapsulamento de dados.
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Encapsulamento
Ex.::
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Janelas e componentes swing
Título – setTitle()
JButton
JFrame
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Alguns componentes swing
ANDRÉ J. A. RAMOS, DESENVOLVEDOR
Bibliografia
• Horstmann, Cay S.; Cornell, Gary. Core Java 2,
volume I – fundamentos. São Paulo: Pearson Prentice
Hall, 2010.
• DEITEL, Harvey M.; DEITEL, Paul J. Java como
Programar. 8º ed. São Paulo: Pearson Prentice Hall,
2010.
História e evolução da linguagem Java

Contenu connexe

Tendances

Meio de cultura em microorganismos
Meio de cultura em microorganismosMeio de cultura em microorganismos
Meio de cultura em microorganismosUERGS
 
Apostila de microbiologia e parasitologia i
Apostila de microbiologia e parasitologia iApostila de microbiologia e parasitologia i
Apostila de microbiologia e parasitologia iMonicaAlmeidaCaldas
 
Aula 01 embalagem e rotulagem de alimentos
Aula 01 embalagem e rotulagem de alimentosAula 01 embalagem e rotulagem de alimentos
Aula 01 embalagem e rotulagem de alimentosCristianeSantos249889
 
Alteracao Climatica
Alteracao ClimaticaAlteracao Climatica
Alteracao ClimaticaGilson Adao
 
Treinamento - Manipulação de Alimentos - DEMONSTRADORAS.pptx
Treinamento - Manipulação de Alimentos - DEMONSTRADORAS.pptxTreinamento - Manipulação de Alimentos - DEMONSTRADORAS.pptx
Treinamento - Manipulação de Alimentos - DEMONSTRADORAS.pptxBruno José Guimarães
 
Qualidade de água em Industria de laticínio
Qualidade de água em Industria de laticínioQualidade de água em Industria de laticínio
Qualidade de água em Industria de laticíniomarcelo otenio
 
Dinâmica de populações
Dinâmica de populaçõesDinâmica de populações
Dinâmica de populaçõesSérgio Luiz
 
Conceitos em ecologia e ecossistemas silviaaa
Conceitos em ecologia e ecossistemas silviaaaConceitos em ecologia e ecossistemas silviaaa
Conceitos em ecologia e ecossistemas silviaaaMed. Veterinária 2011
 
APRESENTAÇÃO - EXTENSÃO.ppt
APRESENTAÇÃO - EXTENSÃO.pptAPRESENTAÇÃO - EXTENSÃO.ppt
APRESENTAÇÃO - EXTENSÃO.pptPedrinaBrasil2
 
Etapas para organização de acervo
Etapas para organização de acervoEtapas para organização de acervo
Etapas para organização de acervoRicardo Andretti
 
Doenças causadas por fungos
Doenças causadas por fungosDoenças causadas por fungos
Doenças causadas por fungosRafael Serafim
 
Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1Elaine Cecília Gatto
 
Aula 01 embalagens para Alimentos
Aula 01 embalagens para AlimentosAula 01 embalagens para Alimentos
Aula 01 embalagens para AlimentosLORRANE BRANDÃO
 
O laboratorio de_microbiologia
O laboratorio de_microbiologiaO laboratorio de_microbiologia
O laboratorio de_microbiologiaErikamakely
 
Defumação
DefumaçãoDefumação
DefumaçãoFemimina
 

Tendances (20)

Meio de cultura em microorganismos
Meio de cultura em microorganismosMeio de cultura em microorganismos
Meio de cultura em microorganismos
 
Apostila de microbiologia e parasitologia i
Apostila de microbiologia e parasitologia iApostila de microbiologia e parasitologia i
Apostila de microbiologia e parasitologia i
 
Aula 01 embalagem e rotulagem de alimentos
Aula 01 embalagem e rotulagem de alimentosAula 01 embalagem e rotulagem de alimentos
Aula 01 embalagem e rotulagem de alimentos
 
Alteracao Climatica
Alteracao ClimaticaAlteracao Climatica
Alteracao Climatica
 
Treinamento - Manipulação de Alimentos - DEMONSTRADORAS.pptx
Treinamento - Manipulação de Alimentos - DEMONSTRADORAS.pptxTreinamento - Manipulação de Alimentos - DEMONSTRADORAS.pptx
Treinamento - Manipulação de Alimentos - DEMONSTRADORAS.pptx
 
Qualidade de água em Industria de laticínio
Qualidade de água em Industria de laticínioQualidade de água em Industria de laticínio
Qualidade de água em Industria de laticínio
 
Dinâmica de populações
Dinâmica de populaçõesDinâmica de populações
Dinâmica de populações
 
Conceitos em ecologia e ecossistemas silviaaa
Conceitos em ecologia e ecossistemas silviaaaConceitos em ecologia e ecossistemas silviaaa
Conceitos em ecologia e ecossistemas silviaaa
 
05. niveis de biosseguranca
05. niveis de biosseguranca05. niveis de biosseguranca
05. niveis de biosseguranca
 
Aterro e incineração
Aterro e incineraçãoAterro e incineração
Aterro e incineração
 
APRESENTAÇÃO - EXTENSÃO.ppt
APRESENTAÇÃO - EXTENSÃO.pptAPRESENTAÇÃO - EXTENSÃO.ppt
APRESENTAÇÃO - EXTENSÃO.ppt
 
Etapas para organização de acervo
Etapas para organização de acervoEtapas para organização de acervo
Etapas para organização de acervo
 
Doenças causadas por fungos
Doenças causadas por fungosDoenças causadas por fungos
Doenças causadas por fungos
 
Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1
 
1 diversidade da vida
1 diversidade da vida1 diversidade da vida
1 diversidade da vida
 
Logistica
LogisticaLogistica
Logistica
 
Aula 01 embalagens para Alimentos
Aula 01 embalagens para AlimentosAula 01 embalagens para Alimentos
Aula 01 embalagens para Alimentos
 
Biodiversidade: preservação das espécies para o equilíbrio do planeta
Biodiversidade: preservação das espécies para o equilíbrio do planeta Biodiversidade: preservação das espécies para o equilíbrio do planeta
Biodiversidade: preservação das espécies para o equilíbrio do planeta
 
O laboratorio de_microbiologia
O laboratorio de_microbiologiaO laboratorio de_microbiologia
O laboratorio de_microbiologia
 
Defumação
DefumaçãoDefumação
Defumação
 

Similaire à História e evolução da linguagem Java

Similaire à História e evolução da linguagem Java (20)

JAVA: Muito mais que uma linguagem
JAVA: Muito mais que uma linguagemJAVA: Muito mais que uma linguagem
JAVA: Muito mais que uma linguagem
 
1707331929 ltp iv java original
1707331929 ltp iv   java original1707331929 ltp iv   java original
1707331929 ltp iv java original
 
Java m01 - Nomenclaturas
Java   m01 - NomenclaturasJava   m01 - Nomenclaturas
Java m01 - Nomenclaturas
 
Java20141215 17[1]
Java20141215 17[1]Java20141215 17[1]
Java20141215 17[1]
 
27072010221224.introdução a java aula 1
27072010221224.introdução a java   aula 127072010221224.introdução a java   aula 1
27072010221224.introdução a java aula 1
 
Java1
Java1Java1
Java1
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com Java
 
Linguagem Java, fundamentos da linguagem Java
Linguagem Java, fundamentos da linguagem JavaLinguagem Java, fundamentos da linguagem Java
Linguagem Java, fundamentos da linguagem Java
 
01 introducao ao java
01   introducao ao java01   introducao ao java
01 introducao ao java
 
Aula 1
Aula 1Aula 1
Aula 1
 
Java
JavaJava
Java
 
Aula 1 - Java - Prof.ª Cristiane Fidelix
Aula 1 - Java - Prof.ª Cristiane FidelixAula 1 - Java - Prof.ª Cristiane Fidelix
Aula 1 - Java - Prof.ª Cristiane Fidelix
 
Aula1- Java PRof.ª Cristiane Fidelix
Aula1- Java PRof.ª Cristiane FidelixAula1- Java PRof.ª Cristiane Fidelix
Aula1- Java PRof.ª Cristiane Fidelix
 
Poo slides01
Poo slides01Poo slides01
Poo slides01
 
Java basico modulo_01
Java basico modulo_01Java basico modulo_01
Java basico modulo_01
 
Java basico modulo_01
Java basico modulo_01Java basico modulo_01
Java basico modulo_01
 
Java basico modulo_01
Java basico modulo_01Java basico modulo_01
Java basico modulo_01
 
Java basico modulo_01
Java basico modulo_01Java basico modulo_01
Java basico modulo_01
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao java
 
Apostila de java
Apostila de javaApostila de java
Apostila de java
 

História e evolução da linguagem Java

  • 1. ANDRÉ J. A. RAMOS, DESENVOLVEDOR andre-rammos@hotmail.com
  • 2. PROGRAMAÇÃO EM JAVA  HISTORIA DO JAVA  A linguagem Java surgiu a partir de uma pesquisa financiada pela Sun Microsystems em 1991, iniciada sob o codinome de projeto Green.  Com o intuito de se tornar uma linguagem para dispositivos inteligentes destinados ao usuário final e com a premissa de ser uma linguagem próxima as linguagens C e C++ e que pudesse ser executado em diversos hardwares. Protótipo Star 7 do Projeto Green  A princípio, o projeto não teve bons resultados devido à lentidão do crescimento da área de dispositivos eletrônicos inteligentes, porém com a grande revolução da World Wide Web em 1993, logo se notou o potencial da linguagem para geração de conteúdo interativo e dinâmico, o que deu nova força ao projeto.  Inicialmente o Java foi chamado de Oak por seu criador (James Gosling) em homenagem a uma árvore que dava para a janela do seu escritório na Sun. Descobriu-se mais tarde que já havia uma linguagem de computador chamada Oak. Quando uma equipe da Sun visitou uma cafeteria local, o nome Java (cidade de origem de um tipo de café importado) foi sugerido e pegou. ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 3. PROGRAMAÇÃO EM JAVA  Em março de 1995 foi anunciado no evento SunWorld a tecnologia Java 1.0, inicialmente o foco principal da tecnologia utilizado para divulgação foram os Applets, pequenas aplicações que poderiam ser executadas via web através de um browser.  Em 1998 foi lançado a versão 1.2 (codinome “Playground”) da linguagem Java, está nova versão trouxe uma quantidade muito grande de novas funcionalidades, essa alteração foi tão grande que a pessoa do marketing começou a chamar de Java 2.  As versões 1.3 (codinome “Kestrel”) lançada em 2000 e 1.4 (codinome “Merlin”) lançada em 2002 continuaram sendo chamado de Java 2, pois houveram alterações e melhorias na linguagem mas não tão grandes como na versão 1.2.  Na versão 1.5 lançada em 2004 o pessoal resolveu mudar novamente chamando de Java 5 (codinome “Tiger”), a partir desta versão foi padronizado as novas atualizações.  Em 2006 o Java 6 (codinome “Mustang”) e atualmente o Java está na versão 6 update 26 e a versão 7 tem o codinome “Dolphin”.  Java também é uma linguagem Open Source e não possui um único dono, todas novas atualizações da linguagem são feitas através da JCP (Java Community Process), formada por um conjunto de empresas ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 4. Atualidades  Em 2009 a ORACLE anunciou a aquisição da Sun Microsystems no valor de US$ 7,4 bilhões. ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 5. ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 6. Características-chave • Simples: A sintaxe do Java é, de fato, uma versão limpa do C++. Não há necessidade de arquivos de cabeçalho, aritmética de ponteiro (ou mesmo uma sintaxe de ponteiros). • Orientado a objetos: Os recursos orientados a objetos do java são comparáveis aos do C++. A principal diferença entre eles está na herança múltipla, que o java substituiu pelo conceito de interface (explicaremos mais a frente). • Portabilidade: Independe de plataforma. • Interpretado: Os bytecodes gerados pelo compilador são convertidos em códigos de máquina pela JVM. • Java e a internet: Os programas Java que funcionam em páginas web são chamados Applets. ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 7. Processo de escrita compilação e execução do código Compilador (JDK) CÓDIGO - FONTE BYTECODES JVM GUI Console ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 8. Portabilidade ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 9. Versão Ano Novos recurso da linguagem Nº de classes e interfaces 1.0 1996 A própria linguagem 211 1.1 1997 Classes internas 477 1.2 1998 Nenhum 1.524 1.3 2000 Nenhum 1.840 1.4 2002 Assertivas 2.723 5.0 2004 Classes genéricas, loop “for each”, varargs, autoboxing, metadados, enumerações, importações estáticas. 3.279 6 2006 Nenhum 3.777 Evolução da linguagem Java ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 10. Nome Sigla Explicação Java Development Kit JDK Software para programadores que querem escrever programas em Java. Java Runtime Environment JRE Software para consumidores que querem executar programas Java. Standard Edition SE Plataforma Java para uso em desktop e aplicativos simples de servidor. Enterprise Edition EE Plataforma Java para aplicativos complexos de servidor. Micro Edition ME Plataforma Java para uso em celulares e outros pequenos dispositivos. Java 2 J2 Termo antiquado que descrevia as versões do Java entre 1998 e 2006. Software Development Kit SDK Termo antiquado que descrevia o JDK entre 1998 e 2006. NetBeans ---- Ambiente de desenvolvimento integrado da Sun. Eclipse ---- Ambiente de desenvolvimento integrado mais utilizado.  Jargão Java ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 11. Depois do JDK ser instalado é necessário configurar algumas coisas. Instalando o JDK e configurando a variável de ambiente Path no windows ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 12. Compilando & executando em linhas de comando No diretório onde o arquivo .java estiver, digite: javac NomeDoArquivo.java Esse comando compila, e cria um arquivo .class. Em seguida, digite: Java NomeDoArquivo Esse comando executa o aplicativo. ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 13. Fazendo um projeto no eclipse Na barra de menu click em File > New > Java Project ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 14. Dê um nome ao projeto e click em Finish ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 15. Após o projeto ser criado estenda a pasta e clique na pasta src com o botão direito do mouse. ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 16. Crie um novo pacote (Package). ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 17. Dê um nome ao pacote e clique em Finish ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 18. No pacote crie uma nova classe ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 19. Dê um nome a sua classe (com a inicial maiúscula) e clique em Finish ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 20. Agora basta digitar o código na linguagem Java!! ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 21. Um programa Java simples • A linha 1 inicia uma declaração de classe nomeada de MinhaClasse; • A linha 2 abre a classe que é fechada na linha 8; • Na linha 3 é declarado o método principal chamado de main (Principal). O programa é iniciado por ele; Este programa apenas exibe a mensagem na Janela de comandos: Bem-vindo ao Java!! ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 22. Comentários Comentários em uma linha: // comentário em uma linha Comentários em mais de uma linha: /* comentário em mais de uma linha */ ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 23. Tipos de dados ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 24. Variáveis Declaração: <Modificador de acesso> <Tipo> <nome da variável> = <valor inicial>; Private int idade; //apenas declarando Private int idadeInicial = 18; //declarando e atribuindo um valor Regras: O nome das variáveis não pode ser o mesmo de palavras reservadas, ter espaços em branco nem começar com números. Recomendações: Por convenção recomenda-se que o nome das variáveis (Atributos) comecem com letra minúscula e, a partir da segunda palavra a primeira letra esteja maiúscula, isto ajuda o programador a diferenciá – la de nome de classes e constantes. Ex: nomeDaVariavel Nota: Modificadores de acesso são palavras que decidem se uma classe, um atributo, uma constante ou um método poderão ser acessados por outras classes. são eles: private, public, protect e abstract. ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 25. Palavras Reservadas As Palavras Reservadas, quer dizer que nenhuma das palavras da lista abaixo podem ser usadas como identificadores, pois, todas elas foram reservadas para a Linguagem Java. ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 26. Constantes Declaração: <Modificador de acesso> final <Tipo> <nome da variável> = <valor inicial>; Private final double PI; //apenas declarando Private final double PI = 3,14159265; //declarando e atribuindo um valor Regras: O nome das constantes não pode ser o mesmo de palavras reservadas, ter espaços em branco nem começar com números. Recomendações: Por convenção recomenda-se que o nome das constantes esteja com todas as letras maiúsculas, isto ajuda o programador a diferenciá–la de nomes de classes e variáveis. Ex: NOME_DA_CONSTANTE ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 27. Operadores Aritméticos: ++ incremento + Somar -- Decremento - Subtrair Lógicos * Multiplicar && AND / Dividir || OR % Resto da divisão ! NOT Relacionais == IGUAL != DIFERENTE > MAIOR QUE < MENOR QUE <= MENOR OU IGUAL >= MAIOR OU IGUAL ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 28. Strings Conceitualmente, Strings são seqüência de caracteres Unicode. Por exemplo a string “Bem-vindo ao Java” contém 15 caracteres. Declarando strings e atribuindo valores: Private String rot = “Meu nome é: ”; Private String nome = “Fulano ”; Concatenando Strings: O Java, como a maioria das linguagens de programação, permite utilizar + para agrupar (concatenar) strings. Private String declaracao = rot + nome; Se imprimir-mos a variável declaracao o programa irá exibir: Meu nome é: Fulano ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 29. Testando igualdade de strings: Para testar se duas string são iguais, use o método equals(). A expressão s.equals(t) retorna true se s e t forem iguais e false caso contrário. Ex.:: String pai = “João”; String filho = “José”; if ( pai.equals(filho)) //maneira correta de comparar strings System.out.println(“é igual”); Para ignorar maiusculas e minúsculas utilize o método equalsIgnoreCase(). Ex.:: if (pai.equalsIgnoreCase(filho)); System.out.println(“é igual”); Não utilize o operador == para testar igualdade de duas strings! Ele determina se as strings são armazenadas na mesma localização, pois pode acontecer que esteja. Ex.:: if ( pai == filho) //maneira INCORRETA de comparar strings System.out.println(“é igual”); Strings ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 30. Comandos E/S Imprimindo em console: O comando System.out.print(); imprimi mensagens no console. Para impressão temos também: println( ) – imprime e põem o cursor na próxima linha (usamos o operador + para concatenar strings e /ou variáveis); printf( ) – impressão formatada (usamos tags marcadoras de posição de variáveis). Veja algumas tags e sua utilização: Tag Utilização Exemplo Resultado %d Marca posição de números inteiros. int x = 2; Printf(“o dobro de 2 = %d ”, x * 2); o dobro de 2 = 4 %f Marca posição de números reais. float y = 5; Printf(“a metade de 5 = %d ”, y / 2); a metade de 5 = 2,5 %s Marca posição de Strings String nome = “Fulano”; Printf(“Meu nome é: %s ”, nome); Meu nome é: Fulano %c Marca posição de caracter char car = ‘A’; Printf(“O nome começa com a letra %c”, car); O nome começa com a letra A %b Marca posição de boolean boolean logic = true; Printf(“%b ”, logic); true ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 31. Usando a classe Scanner para ler Para ler dados do usuário digitados no teclado, utilizamos o método next() da classe Scanner. Para fazer isto, antes precisamos criar um objeto Scanner: Scanner leitura = new Scanner(System.in); O método next() retorna o que foi digitado, por isso devemos logo atribui-lo a uma variável, assim: String nome = leitura.next(); Utilizamos métodos diferentes de acordo com o tipo de dado a ser lido next( ) – ler apenas uma palavra; nextLine( ) – ler uma linha inteira; nextInt( ) – ler um número inteiro; nextFloat( ) – ler um número real; ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 32. import O compilador utiliza as instruções import para localizar classes necessárias para compilar um programa Java. Ex.:: import java.util.Scanner; Para cada nova classe da Java API que usamos, devemos indicamos o pacote no qual você pode encontrar aquela classe. Esta informação sobre os pacotes é importante. Java importa automaticamente classes do pacote java.lang, como a classe System. Portanto, não são necessárias instruções import para as classes que estão no pacote java.lang. Obs.:: Todas as instruções import devem aparecer antes da definição de classe. Colocar uma instrução import dentro do corpo de definição de uma classe ou depois de uma definição de classe é um erro de sintaxe. ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 33. Imprimindo e lendo através de caixas de Diálogo A classe JOptionPane contém alguns métodos static que são usados para ler dados e exibir mensagens por meio de caixas de diálogo. Conheça alguns: JOptionPane.showMessageDialog(null,”Hello world!!”); - exibe mensagem para o usuário; JOptionPane.showInputDialog(”Qual o seu nome?”); - exibe mensagem para o usuário e ao mesmo tempo retorna a string digitada por ele em um campo de texto, por isso deve ser atribuído a uma variável do tipo String; String nome = JOptionPane.showInputDialog(”Qual o seu nome?”); ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 34. Fluxo de controle Instruções condicionais (if, else, else-if): ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 35. Fluxo de controle Loops (while,do-while): ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 36. Fluxo de controle Loops determinantes (for): Obs.:: O contador também pode ser declarado fora da estrutura. Contador com valor inicial incrementoCondição do laço ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 37. Fluxo de controle seleções múltiplas (switch-case): ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 38. Arrays (vetores e matrizes) Declaração de vetores: Tipo[] nomeDoVetor = new Tipo[TamanhoDoVetor]; Ex.:: int[] id = new int[15]; String[] nomes = new String[4]; Inicialização de vetores : String[] nomes = {“fulano”, “josé”, “joão”, “maria”,}; ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 39. Arrays (vetores e matrizes) Declaração de matrizes: Tipo[][] nomeDaMatriz = new Tipo[nº de linhas] [nº de colunas]; Ex.:: int[][] id = new int[3][2]; String[][] nomes = new String[3][2]; Inicialização de matrizes : String[][] nomes = { {“fulano”, “josé”}, { “joão”, “maria”,}, { “james”, “Bond”} }; ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 40. Arrays (vetores e matrizes) Usando for para preencher vetores: ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 41. Introdução a Programação Orientada a Objetos Você já sabe que Java é uma linguagem de programação orientada a objetos. Vamos entender o que isto significa. Classe: Uma classe pode ser definida como um modelo que descreve um conjunto de elementos que compartilham os mesmos atributos, operações e relacionamentos. – Ex.:: Veículo pode ser considerado uma classe, pois possui um conjunto de elementos que compartilham os mesmos atributos (cor, portas, pneus, volante, para- brisas, etc) e ações (acelerar, frear, estacionar, etc). Objeto: É um elemento representante de uma classe, é uma instância da classe. Ex.:: Um carro é um objeto pertencente a classe Veículo. ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 42. Classes em Java Veiculo Cor numPortas acelerar() frear() estacionar() DIAGRAMA UML CÓDIGO EM JAVAPara programar orientado a objetos você precisa abstrair os atributos e comportamentos dos objetos do mundo real, em seguida escrever o código utilizando os recursos da linguagem Java. ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 43. Objetos e variáveis-objeto Construímos um objeto com a palavra new seguida da chamada ao construtor da classe. Ex.:: new Veiculo(); Podemos criar uma variável para armazenar esse objeto (por isso são chamadas de variável-objeto). Essa variável precisa ser do tipo da classe a que se refere. Ex.:: Veiculo carro = new Veiculo(); Agora podemos usar essa variável-objeto. Para chamar um método de um objeto é necessário enviar uma mensagem para ele. Ex.:: carro.acelerar(); ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 44. Métodos Métodos são os comportamentos de um objeto. A declaração é feita da seguinte forma: modificador tipoDeRetorno nomeDoMetodo(Parâmetros) { instruções; } Ex.:: Uma vez desenvolvido esse método dentro de uma classe, para imprimir o dobro de um número basta escrevermos: O resultado será: ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 45. Herança A herança é o mecanismo de derivação através do qual uma classe pode ser construída como extensão de outra. Neste processo, todos os atributos e operações da classe base (superclasse) passam a valer, também, para a classe derivada (subclasse), podendo esta última definir novos atributos e operações que atendam suas especificidades. ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 46. Herança Em Java utilizamos a palavra extends para uma subclasse Herdar os atributos e métodos de uma superclasse. Ex.:: O conceito de herança evita que um mesmo código seja digitado várias vezes para classes que tenham os mesmos atributos e possuam o mesmo comportamento. ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 47. Polimorfismo • Polimorfismo é a característica que garante que um determinado método possa produzir resultados diferentes quando aplicado a objetos pertencentes a classes diferentes, dentro de uma hierarquia de classes. • Através do polimorfismo um mesmo nome de operação pode ser compartilhado ao longo de uma hierarquia de classes, com implementações distintas para cada uma das classes. • Ex.:: Empregado calcularSalario() Mensalista calcularSalario() Tarefeiro calcularSalario() Horista calcularSalario() ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 48. Polimorfismo e Interfaces Interface é um modo de descrever o que as classes devem fazer, sem especificar como devem fazer. Na linguagem de programação Java, uma interface não é uma classe, mas um conjunto de requisitos para classes que precisam adequar-se a ela. Observe que o método da interface acima não está desenvolvido, pois isso somente é feito na classe que a implementa. (implements) ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 49. Encapsulamento As classes normalmente ocultam os detalhes de sua implementação dos clientes das classes. Isso se chama encapsulamento ou ocultamento de informações. Observação de engenharia de software.:: Os projetistas de classe utilizam dados private métodos public para garantir a noção do ocultamento de informações e o princípio do menor privilégio. Se o cliente de uma classe precisa acessar dados na classe, forneça acesso por métodos public da classe. Fazendo isso, o programador da classe controla como os dados da classe são manipulados (por exemplo, a verificação da validade dos dados pode impedir que os dados inválidos sejam armazenados em um objeto). Este é o princípio do encapsulamento de dados. ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 50. Encapsulamento Ex.:: ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 51. Janelas e componentes swing Título – setTitle() JButton JFrame ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 52. Alguns componentes swing ANDRÉ J. A. RAMOS, DESENVOLVEDOR
  • 53. Bibliografia • Horstmann, Cay S.; Cornell, Gary. Core Java 2, volume I – fundamentos. São Paulo: Pearson Prentice Hall, 2010. • DEITEL, Harvey M.; DEITEL, Paul J. Java como Programar. 8º ed. São Paulo: Pearson Prentice Hall, 2010.