Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98
UMA INTRODUÇÃO À JAVA Marcos André S. Kutova Setembro/98
2
ÍNDICE Introdução Programação Orientada a Objetos A Linguagem Java
Objetos e Classes em Java Classes Essenciais Applets Classes Avançadas
3
Introdução
4
O QUE É JAVA ? Linguagem de Programação Simples Orientada a Objetos
Distribuída Portável Robusta Segura Interpretada Independente de arquitetura Alta Performance Dinâmica
5
O QUE É JAVA ? Linguagem de Programação
Todos os programas Java são compilados e interpretados O compilador transforma o programa em bytecodes independentes de plataforma O interpretador testa e executa os bytecodes
6
O QUE É JAVA ? Linguagem de Programação
Cada interpretador é uma implementação da JVM - Java Virtual Machine (ferramenta, browser, hardware) “Write Once, Run Anywhere”
7
O QUE É JAVA ? Plataforma Java
Uma plataforma é o ambiente de hardware e software onde um programa é executado A plataforma Java é um ambiente somente de software Componentes: Java Virtual Machine (Java VM) Java Application Programming Interface (Java API)
8
O QUE JAVA PODE FAZER ? Applets Servlets Aplicações
Aplicações cliente/servidor Aplicações para a Internet
9
Programação Orientada a Objetos
10
PROGRAMAÇÃO ORIENTADA A OBJETOS
Conceitos Básicos Objetos Mensagens Classes Herança
11
PROGRAMAÇÃO ORIENTADA A OBJETOS
O que são objetos? Conjunto de variáveis e procedimentos utilizados para modelar objetos do mundo real (e imaginário) Um objeto é caracterizado pelo seu estado e pelo seu comportamento Exemplo - Lâmpada Estados - ligada/desligada Comportamento - mudar de ligada para desligada mudar de desligada para ligada
12
PROGRAMAÇÃO ORIENTADA A OBJETOS
O que são mensagens? Mensagens são utilizadas para fazer a comunicação entre os objetos Cada objeto entende um conjunto de mensagens que podem mudar seu estado atual Quando há a necessidade de maiores informações, as mensagens podem conter parâmetros
13
PROGRAMAÇÃO ORIENTADA A OBJETOS
O que são classes? Uma classe é uma especificação que define as variáveis e os métodos comuns a todos os objetos de um certo tipo Um objeto é uma instância de uma classe O que é herança? A herança fornece um mecanismo poderoso e natural para organização e estruturação de objetos Uma classe herda estados e comportamentos de sua superclasse
14
PROGRAMAÇÃO ORIENTADA A OBJETOS
Exemplo - Lâmpada class Lamp { private boolean LampIsOn; public void turnKnob() { LampIsOn = !LampIsOn; } public Lamp() { LampIsOn = false; Variável Método Construtor
15
A Linguagem Java
16
A LINGUAGEM JAVA Comentários
/* texto */ O compilador ignora tudo entre /* e */ /** documentacao */ indica um comentário para documentação Utilizado pela ferramenta javadoc // texto O compilador ignora todos os caracteres de // até o final da linha
17
A LINGUAGEM JAVA Tipos de dados Nomes de variáveis
Inteiros: byte / short / int / long Reais: float / double Outros: char / boolean Nomes de variáveis Série de caracteres Unicode Não pode ser palavra chave Não pode ser nome de outra variável ou classe
18
A LINGUAGEM JAVA Inicialização Variáveis finais
int i = 10; char c; c = ‘X’; Variáveis finais final float pi = ; (final também pode ser utilizado para métodos. Os métodos finais não podem ter subclasses)
19
A LINGUAGEM JAVA Operadores Atribuição: = Aritméticos: + - * / %
Unários: Lógicos: = = != < > <= >=
20
A LINGUAGEM JAVA Instruções de controle de fluxo Condicionais Laço
if-else / switch-case (break) Laço for / while / do-while Exceção try-catch-finally (throw)
21
A LINGUAGEM JAVA Vetores Declaração Inicialização
int[] arrayOfInts; Inicialização arrayOfInts = new int[10]; Declaração e inicialização (elemento de 0 a 9) int[] arrayOfInts = new int[10];
22
A LINGUAGEM JAVA Strings Declarações e atribuições
String cde = “cde”; char data[] = { ‘a’, ‘b’, ‘c’ }; String str = new String( data ); String cc = “ab”+cde; As strings podem ser concatenadas através do operador + As strings não podem ser alteradas
23
A LINGUAGEM JAVA Strings - Alguns Métodos .substring() .equals()
.startsWith() .endsWith() .length() .toUpperCase() .toLowerCase() .replace() .charAt() .trim .equals() .compareTo() .equalsIgnoreCase() .toString() String.valueOf()
24
A LINGUAGEM JAVA StringBuffer
Permitem criar strings que podem ser alteradas Todos os métodos da classe StringBuffer são synchronized Desempenho pior do que com Strings Principais métodos: .append() .insert() .length() .toString()
25
A LINGUAGEM JAVA O Método main
class HelloWorld { public static void main( String[] args ) { System.out.println( “Hello World!” ); } } Quando o interpretador Java executa uma aplicação, ele começa chamando o método main O método main então chama todos os outros métodos necessários para executar a aplicação
26
A LINGUAGEM JAVA Controlando o acesso aos membros da classe
Especificador classe subclasse pacote todos private X protected X X X public X X X X package X X
27
A LINGUAGEM JAVA Métodos e variáveis estáticos
Declarados com o especificador static São comuns a todos os objetos da classe Utilizados para declaração de constantes Utilizados para declaração de métodos que não necessitam de uma instância da classe static int FALSO ; static int VERDADEIRO 1; public static boolean testa( int p ) { if( p == this.VERDADEIRO ) return( true ); else return( false ); }
28
Objetos e Classes em Java
29
OBJETOS E CLASSES EM JAVA
Exemplo: Lâmpada class Lamp { private boolean LampIsOn; public void turnKnob() { LampIsOn = !LampIsOn; } public Lamp() { LampIsOn = false; Variável Método Construtor
30
OBJETOS E CLASSES EM JAVA
Criando um objeto da classe Lamp Lamp l; l = new Lamp(); Lamp l1 = new Lamp(); Lamp l2 = new Lamp(); Acessando variáveis e métodos l1.turnKnob(); l2.LampIsOn = true; Viola definição de visibilidade
31
OBJETOS E CLASSES EM JAVA
Herança class StrobeLamp extends Lamp { private int strobeRate; public setStrobeRate( int s ) { strobeRate = s; }
32
OBJETOS E CLASSES EM JAVA
Garbage Collector A plataforma Java periodicamente libera a memória usada por objetos que não são mais necessários O Garbage Collector roda em uma thread de baixa prioridade e remove todos os objetos que não são mais referenciados Finalização Antes de um objeto ser destruído, o Garbage Collector executa o método finalize do objeto (quanto existir) Isto permite, por exemplo, o fechamento de arquivos e conexões de rede
33
OBJETOS E CLASSES EM JAVA
this A palavra reservada this permite que um objeto consiga uma referência própria Referência a uma variável do objeto int s; public setStrobeRate( int s ) { this.s = s; } Passagem de referência própria animation = new Thread( this );
34
OBJETOS E CLASSES EM JAVA
super Referência à superclasse Utilizado para chamar o construtor da superclasse int s; public StrobeLamp( int s ) { super(); this.s = s; } Utilizado para chamar métodos da superclasse public finalize() { f.close(); super().finalize(); }
35
OBJETOS E CLASSES EM JAVA
Interfaces Interface é uma especificação que permite que objetos não relacionados possam interagir (análogo a protocolo) As interfaces definem conjuntos de métodos, mas não os implementam Uma classe que implemente a interface deve implementar TODOS os métodos definidos nesta. public interface Sleeper { public void wakeUp(); public long ONE_SECOND = 1000; // milli }
36
OBJETOS E CLASSES EM JAVA
Pacotes Para facilitar o uso, controle de acesso e controle de conflito de nomes, os programadores agrupam classes e interfaces relacionadas em pacotes. Os pacotes necessários a um programa devem ser incorporados através do comando import. Basta incluir no início arquivo da classe a linha: package nomePacote; Por convenção, deve-se usar o nome do pacote no formato: com.company.package ou com.company.region.package
37
Classes Essenciais
38
CLASSES ESSENCIAIS Classe System - Recursos do Sistema
Não há a necessidade de inicialização (classe final) Todos os métodos são estáticos Algumas plataformas podem gerar erros por não possuírem os dispositivos acessados class UserNameTest { public static void main(String[] args) { String name; name = System.getProperty("user.name"); System.out.println(name); }
39
CLASSES ESSENCIAIS Exceções
A linguagem Java utiliza as exceções para fornecer capacidades de controle de erros quando, durante a execução de um programa, ocorrer um evento que interrompa o fluxo normal de instruções Vantagens: Separar o gerenciamento de erro do resto do código Propagar erros Agrupar os erros
40
CLASSES ESSENCIAIS Exceções
try { // abre o arquivo // determina o seu tamanho // aloca a memória necessária // lê o arquivo para a memória // fecha o arquivo } catch (fileOpenFailed) { fazAlgo; } catch (sizeDeterminationFailed) { fazAlgo; } catch (memoryAllocationFailed) { fazAlgo; } catch (readFailed) { fazAlgo; } catch (fileCloseFailed) { fazAlgo; }
41
CLASSES ESSENCIAIS Threads
Uma thread - também chamada de linha de execução - é um fluxo sequencial simples de controle dentro de um programa. Quando uma thread é criada, ela executa o método run do objeto.
42
CLASSES ESSENCIAIS Lendo e escrevendo
Normalmente, os programas devem ler ou escrever informações em fontes/destinos externos (arquivos, memória, rede, ...). Estas informações podem ser de qualquer tipo: números, textos, imagens, ... A API Java permite que o programa crie um fluxo para cada um destes pontos externos.
43
CLASSES ESSENCIAIS Lendo e escrevendo
44
CLASSES ESSENCIAIS Lendo e escrevendo
Os fluxos podem ser de bytes ou caracteres. As fontes e destinos podem ser físicas ou apenas de processamento. Métodos: .read() e .write() Quando necessários, deve-se utilizar a serialização de objetos.
45
Applets
46
APPLETS O que são Applets?
Applets são aplicações Java que permitem estender as funcionalidades da páginas da Internet. As applets são executas juntamente com um browser ou pelo appletviewer (programa do JDK para rodar applets). As applets são chamdas por um documento HTML.
47
APPLETS Características As applets não possuem o método main.
Uma applet não tem acesso aos recursos da máquina local. Uma applet somente pode utilizar recursos do servidor de onde veio.
48
APPLETS Ciclo de vida .init() Este método é chamado para inicializar a applet. .start() Este método inicia a execução da applet. É chamado após a inicialização e toda vez que o usuário volta à pagina (enquanto estiver na memória). .paint() Desenha a applet. .stop() Interrompe a execução da applet. Inclusive quando o usuário deixa a página. .destroy() Libera os recursos alocados pela applet
49
APPLETS import java.applet.Applet; import java.awt.Graphics;
public class HelloWorld extends Applet { public void paint(Graphics g) { g.drawString("Hello world!", 50, 25); }
50
APPLETS <HTML> <HEAD>
<TITLE> A Simple Program </TITLE> </HEAD> <BODY> Here is the output of my program: <APPLET CODE="HelloWorld.class" WIDTH=150 HEIGHT=25> </APPLET> </BODY> </HTML>
51
Classes Avançadas
52
CLASSES AVANÇADAS java.awt Abstract Windowing Toolkit
Objetivo de fornecer as funcionalidades básicas presentes em todas as plataformas gráficas Componentes: Label, Button, CheckBox, Choice, List, TextField, MenuItem, Frame, Dialog, Panel, ...
53
CLASSES AVANÇADAS java.net java.rmi
Permite a criação de programas que comuniquem com recursos ou outros programas em uma rede Permite conexões TCP ou UDP java.rmi Remote Method Invocation Permite que um objeto rodando em uma JVM invoque métodos de um objeto rodando em outra JVM
54
CLASSES AVANÇADAS java.security java.sql
Importa a funcionalidade da criptografia, incluindo assinaturas digitais, gerenciamento de chaves e gerenciamento de certificados java.sql Permite a conexão aos sistemas de banco de dados tradicionais, inclusive permitindo a execução de instruções SQL
55
CLASSES AVANÇADAS Outras classes Java 2D Java 3D Internacionalização
Java Beans Swing Servlets Java Sound Java Media Player Java Native Interface
56
Referências Java Technology Homepage - http://java.sun.com
Teach yourself Java 1.1 in 21 Days, L. Lemay & C. Perkins Java Unleashed, Michael Morrison The Java Tutorial, Mary Campione & Kathy Walrath
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.