Computadores e Programação

Propaganda
Pontifícia Universidade Católica de Minas Gerais
Instituto de Informática -Departamento de Ciência da Computação
Disciplina: Seminários II
Introdução à Linguagem JAVA
Vânia Aguiar Moura
E-mail: [email protected]
DCC/PUC-MG
Introdução

Apesar de Java ser uma linguagem que serve para vários
propósitos, o seu
sucesso atual (época do seu
lançamento) se deve a possibilidade de elaboração de
aplicações para a internet.

Abordaremos uma sequência de tópicos que permite
apresentar a linguagem sob a ótica da teoria de orientação
a objetos. A apresentação do modelo de objetos da
linguagem e conceitos relacionados tais como
polimorfismo, tratamento de exceções está em primeiro
plano. Ao longo dessa apresentação, em segundo plano,
você aprenderá os aspectos básicos da linguagem.
® vam
2
•
•
•
•
® vam
A maioria das pessoas fica ansiosa para
aprender como criar aplicações para a internet, mas
depois de satisfeita esta ansiedade voltam para o
ponto onde aprendem como programar na linguagem
e não apenas experimentar com a criação de botões,
caixas de diálogo, imagens, etc.
Neste caso, é recomendável um “tour” pela WWW
antes de começar a programar, um bom “site” :
http://www.Javasoft.com/applets
“Links” para vários applets, divididos por categorias:
games, sound, busines, animation...
3
APPLETS
APPLETS: São pequenos programas escritos
em Java que podem ser embebidos em
documentos hipetextos. São exemplos de
applets: animações, imagens, botões, etc.
Applets podem suportar efeitos de multimidia
como sons, iterações com o usuário (mouse,
teclado), imagens, animações, gráficos, etc.
® vam
4
Aplicações com JAVA
Java é excelente para desenvolver aplicações
comerciais e para ser usada em universidades.
 Java pode ser vista como uma fusão de várias
técnologias que vêm sendo desenvolvidas na área
de computação, de modo que estudantes dessa linguagem
tem a oportunidade de tomar contato com vários tópicos
recentes.
 Programação concorrente, sitemas distribuídos,
orientação a objetos, protocolos da internet, e uma série de
outros assuntos fáceis de praticar nessa linguagem.

® vam
5
Kit de Desenvolvimento de Aplicações
Um ambiente de programação Java é normalmente
composto de um kit de desenvolvimento de aplicações
Java e um “browser compatível com esta linguagem
(recomendável). Para o acesso a esse ambiente de
programação, visite estes endereços:
“DOWNLOAD”
JAVA
http://Java.sun.com
. Raiz do hipertexto montado pelos criadores da linguagem. Sob este endereço você pode obter o compilador e outras
ferramentas de desenvolvimento de aplicações Java para a sua plataforma de programação. Fique atento! Outros
desenvolvedores estão criando ambientes de programação Java.
“DOWNLOAD”
“BROWSERS”
® vam
http://www.netscape.com
Raiz do hipertexto montado pelos criadores do Netscape Navigator. Sob este endereço você pode obter o browser
“Java compatible” da “Netscape Comunications INC’.. Outros desenvolvedores estão lançando “browsers” compatíveis com
Java.
6
Características da Linguagem
Parecida com C, C++:
® vam

Java tem a aparência de C ou de C++, embora a
filosofia da linguagem seja diferente. Por este motivo
estaremos frequentemente fazendo comparações
alguma destas linguagens.

Java também possui características herdadas de muitas
outras linguagens de programação: Objective-C,
Smalltalk,
Eiffel,
Modula-3,
etc.
Muitas
das
características desta linguagem não são totalmente
novas. Java é uma feliz união de tecnologias testadas
por vários centros de pesquisa e desenvolvimento de
software.
7
Características da Linguagem
Compilada:
 Um programa em Java é compilado para o
chamado “byte-code”, que é próximo as
instruções de máquina, mas não de uma
máquina real. O “byte-code” é um código de
uma máquina virtual idealizada pelos criadores
da linguagem. Por isso Java pode ser mais
rápida do que se fosse simplesmente
interpretada.
® vam
8
® vam
9
Características da Linguagem
Portável:
 Java foi criada para ser portável. O “byte-
code” gerado pelo compilador para a sua
aplicação específica pode ser transportado
entre plataformas distintas que suportam
Java
(Solaris 2.3, Windows-NT,
Windows-95, Mac/Os etc) . Não é
necessário recompilar um programa para que
ele rode numa máquina e sistema diferente,
ao contrário do que acontece por exemplo
com programas escritos em C e outras
linguagens.
® vam
10
Características da Linguagem
Orientada a Objetos:
 A portabilidade é uma das características que se inclui
nos objetivos almejados por uma linguagem orientada a
objetos. Em Java ela foi obtida de maneira inovadora
com relação ao grupo atual de linguagens orientadas a
objetos.
 Java suporta herança, mas não herança múltipla. A
ausência de herança múltipla pode ser compensada
pelo uso de herança e interfaces, onde uma classe
herda o comportamento de sua superclasse além de
oferecer uma implementação para uma ou mais
interfaces.
® vam
11
Características da Linguagem
Java permite a criação de classes abstratas. Outra
característica importante em linguagens orientadas a
objetos é a segurança. Dada a sua importância o tópico
foi escrito a parte.
Segura:
 A presença de coleta automática de lixo, evita erros
comuns que os programadores cometem quando são
obrigados a gerenciar diretamente a memória (C , C++,
Pascal ). A eliminação do uso de ponteiros, em favor do
uso de vetores, objetos e outras estruturas substitutivas
traz benefícios em termos de segurança

® vam
12
Características da Linguagem
Suporta concorrência:
 A linguagem permite a criação de maneira fácil, de
vários “threads” de execução. Este tópico é útil quando
se estuda animações, e é particularmente poderoso nos
ambientes em que aplicações Java são suportadas,
ambientes estes que geralmente podem mapear os
threads da linguagem em processamento paralelo real.
Eficiente:
 Como Java foi criada para ser usada em computadores
pequenos, ela exige pouco espaço, pouca memória.
® vam
13
PROGRAMA HELLO INTERNET!
COMPILANDO UM PRIMEIRO PROGRAMA:
1-Certifique-se de ter adicionado a sua lista de
//
Comentario de uma linha
path’s o path do compilador e interpretador Java.
Javac e Java respectivamente.
2-Crie o arquivo ao lado em um diretório
qualquer (“folder” para usuários mac) e salve
com o nome: HelloInternet.Java
public class HelloInternet {
3-Chame o compilador Java para este arquivo:
Javac HelloInternet.Java
public static void main (String
args[])
{
4-Seu diretório deve ter recebido um novo
arquivo
após
essa
compilação:
HelloInternet.class
System.out.println("Hello
Internet!");
5-Chame o interpretador Java para este arquivo
(omita a extensão .class de arquivo): Java
HelloInternet
6-Observe o resultado na tela: Hello Internet!
® vam
}
}
14
Explicação passo a passo do programa exemplo:
//Comentario de uma linha
Comentários em Java seguem a mesma sintaxe
de C++, “//” inicia uma linha de comentário, todo
o restante da linha é ignorado.
Existe também um outro tipo de comentário
formado por /* Insira aqui o texto a ser ignorado
*/ , este tipo de comentário pode ser intercalado
em uma linha de código. Comentários são
tratados como espaços em branco.
® vam
15
Explicação passo a passo do programa exemplo:
public class HelloInternet {
class é a palavra reservada que marca o inicio da
declaração de uma classe. Public é um especificador,
por enquanto guarde public class como o início da
declaração de uma classe.
HelloInternet
É o nome dado a esta classe.
O “abre chaves” marca o
início das declarações da classe que são os atributos e
métodos. Esta classe só possui uma declaração, a do
método main, note que um método, ao contrário de
C++, só pode ser declarado {internamente} a classe a
qual pertence, evitando as confusões sobre “escopo”.
® vam
16
Explicação passo a passo do programa exemplo:
public static void main (String args[]) {
System.out.println("Hello Internet!");
}
public
É um qualificador do método que indica que este é
acessível externamente a esta classe (para outras
classes que eventualmente seriam criadas).
static
É um outro qualificador ou “specifier”, que indica que o
método deve ser compartilhado por todos os objetos que
são criados a partir desta classe. Os métodos static
podem ser invocados, mesmo quando não foi criado
nenhum objeto para a classe.
® vam
17
Explicação passo a passo do programa exemplo:
void
Semelhante ao void C++ ou C, é o valor de retorno da
função, quando a função não retorna nenhum valor ela
retorna void, uma espécie de valor vazio que tem que
ser especificado.
Main
Este é um nome particular de método que indica para o
compilador o início do programa, é dentro deste
método e através das iterações entre os atributos,
variáveis e argumentos visíveis nele que o programa se
desenvolve.
® vam
18
Explicação passo a passo do programa exemplo:
(String args[])
É o argumento de main e por consequência do programa
todo, ele é um vetor de Strings que é formado quando
são passados ou não argumentos através da invocação
do nome do programa na linha de comando do sistema
operacional, exemplo:
Java HelloInternet argumentotexto1 argumentotexto2.
No nosso caso, ignoramos a possível passagem de
argumentos via linha de comando.
® vam
19
Explicação passo a passo do programa exemplo:
{
...
}
“Abre chaves” e “fecha chaves”. Delimitam um bloco de
código.
System.out.println("Hello Internet!");
Chamada do método println para o atributo out da classe
ou objeto System, o argumento é uma constante do tipo
String. Comando para imprimir mensagens na tela, onde
o argumento que vem entre aspas é a String a ser
impressa. O ; “ponto e vírgula” separa operações.
} Finalmente o fecha chaves termina com a declaração da
classe HelloInternet.
® vam
20
Introdução a applets Java

Diferente de um aplicativo Java que é executado a partir de uma
janela de comanddo, um applet é um programa Java que é
executado no appletviewer ( um utilitário de testes para applets) ou
um navegador de WWW. O appletviewer ou navegador executa um
applet uando um documento Hipertxt Markup Language (HTML)
contendo o applet é aberto no appletviwer (ou navegador).

Recursos para applet na WWW: http://
java,.sun.com/applets/index.html
Java.sun.com/jdc/
Developer.com/directories/pages/dir.java.html
Gamalean.com
Java Applet Rating Service –www.jars.com





® vam
21
Um Applet Simples





1 //Esse programa ilustra vários recursos Java importantes.
2 //Fig:Welcomeapplet.java
3 //Primeiro applet em Java
4 import javax.swing. Japplet; //importa a classe JApplet
5 import javax.awt.Graphics;. //importa a classe Graphics






6 public class WelcomeApllet extends Jappelt {
7 public void paint (Graphics g)
8 {
9 g.drawString (“Welcome To Java Programming!”,25,25);
10 }
® vam
22
Analizando o programa







® vam
As linhas 3 e 4 são instrução de import que dizem ao compliladdor
onde encontrar as classes exigidas para compilar esse applet java
A clase JApplet ésta localidada no pacote javax.swing
A classe Graphics no pacote java.awt
A classe Graphics possibilita ao programa desenhar imagens
gráficas ( como linhas retângulos, ovais, strings de caracteres) em
aplicativo applet Java.
Todos os pacotes na API (Applications Progranning Interfaces) são
armazenados no diretório java ou javax, que contém muitos
subdiretórios incluindo o awt e swing.
Assim como os aplicativos, cada applet Java é composto de pelo
menos uma definição de classe.
O java utiliza Herança para criar novas classes a partir de
definições das classes já existentes.
23
Analisando o Programa







Linha 6 public class WelcomeApplet extends JApplet
Definição da classe WelcomeApplet.
extends seguida de nome de classe indica a classe da qual a nova classe
herda fragmentos existentes.
Nesse relacionamento de herança a, JApplet é chamada de superclasse
ou classe básica e WelcomeApplet é chamada de subclasse ou classe
derivada.
Estender a classe JApllet é utilizar a definição que uma pessoa o que
significa ser um apllet.
O appletviewer eos navegadores WWW que suportam applets
necessitam de atributos e comportamentos métodos) do applet. A classe
JApplet fornece todas essas capacidaddes (aproximadamente 200).
Usando extends para herdar JApplet Todos os métodos de Japplets
agora fazem parte de WelcomeApplet.
® vam
24
Analisando o Programa







® vam
WelcomeApplet é utilizada para criar um objeto que implementem os
atributos e métodos do applet.
O comportamento padrão do método paint na classe JApplet, é não
fazer nada.
A classe WelcomeApplet anula (substitui ou redefine) esse
comportamento fazendo paint desenhar a mensagem na tela.
O método paint desenha a mensagem na tela.
O appletviewer ou navegador em que o applet executa é responsável
pela a criação de um objeto da classe WelcomeApplet.
A classe public em um arquivo é utilizada como parte do nome do
arquivo
WelcomeApplet.java é nome do arquivo.
25
Analisando o Programa






® vam
A linha 7 - public void paint(Graphics g ), inicia a definição do
método paint do applet
O init, start e paint são os métodos que são chamadaos a a partir do
appletviewer ou pelo navegador quando o applet está executando.
Esses métodos são herdados da classe JApplet, fornecem a um
programdor de applet uma seqüência inicial garantida de chamadas
de método quando cada applet começa executar.
Estes métodos são definidos de modo a fornecer ao appletviewer
ou navegador uma uma seqüência inicial consistente.
As linha 7 a 10 são a definição da função paint.
A tarefa do método paint é desenhar imagens gráficas. O conjunto
de parênteses depois do paint define a lista de parâmetros do
método, o obeto Graphics (chamado g ) para realizar sua tarefa.
26
Analisando o Programa





® vam
Public é requerida a fim de que o navegador possa chamar o método
paint
g.drawString (“Welcome To Java Programming!”,25,25) exibe os
caracteres entre aspas na tela , utilizando o método drawString da
classse Graphics .
O método é chamado utilizando o objeto g da classe Graphics e a
lista de argumentos de drawString.
O primeiro argumento é o String “ ”, os dois últimos 25,25 são as
coordenadas (ou posições) em que o canto inferior do string será
desenhado.
As coordenadas são medidas a partir do canto superior esquerdo do
applet em pixels (picture element) um computador tem 640pixel de
largura por 480 de altura ou 307,2000 pixels exibíveis.
27
Analisando o Programa









® vam
Depois que a classe WelcomeApplet é definida e salva num arquivo
WelcomeApplet.java, a classe deverá se complida
javac WelcomeApplet.java, se não houver erro de sintaxe os bytecdes
são armazenados no arquivo WelcomeApplet.calss.
Devemos agora criar um arquivo HTML para carregar o applet no
appletviewer (ou em um navegador)
1 <html>
2 < applet code= “ WelcomeApplet. class” width=300 height = 30>
3 </applet>
4 </html>
Todos os tags de HTML começam com < e terminam com >.
As linhas 1 e 4 indicam o início e o fim dos tags.
28
Analisando o Programa





® vam
As linhas 2 e 3 são tags especiais para o applets Java . Elas
instruem o appletviewer ou navegador a a carregar o applet.
Normalmente o applet e seu arquivo html são armazenados no
mesmo diretório.
Na linha 2 o primeiro componente do tag <applet> (code =
“WelcomeApplet.class) indicam a classe que contém o applet, a
larguara e altura do applet em pixels.
Na linha 3 / termina o applet e na linha 4 especifica o final do tag
HTML.
O appletviewer é um lugar ideal para testar a execução de um
applet . Pode-se adicionar os tags <applet> e </applet> a um
arquivo HTML que será visualizado pelas pessoas que navegam na
Internet O appletviewer é invocado para o applet a partir da janela
de comando do seu computador :
Appletviewer WelcomeApplet.html que deve ser digitado a partir do
diretório em que o arquivo HTML e .class do applet estão
localizados
29
Download