A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova Setembro/98.

Apresentações semelhantes


Apresentação em tema: "U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova Setembro/98."— Transcrição da apresentação:

1 U MA I NTRODUÇÃO À J AVA 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 Q UE É J AVA ? Linguagem de Programação Simples Orientada a Objetos Distribuída Portável Robusta Segura Interpretada Independente de arquitetura Alta Performance Dinâmica

5 O Q UE É J AVA ? 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 Q UE É J AVA ? Linguagem de Programação Cada interpretador é uma implementação da JVM - Java Virtual Machine (ferramenta, browser, hardware) Write Once, Run Anywhere

7 O Q UE É J AVA ? 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 Q UE J AVA P ODE F AZER ? Applets Servlets Aplicações Aplicações cliente/servidor Aplicações para a Internet

9 Programação Orientada a Objetos

10 P ROGRAMAÇÃO O RIENTADA A O BJETOS Conceitos Básicos Objetos Mensagens Classes Herança

11 P ROGRAMAÇÃO O RIENTADA A O BJETOS 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 P ROGRAMAÇÃO O RIENTADA A O BJETOS 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 P ROGRAMAÇÃO O RIENTADA A O BJETOS 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 P ROGRAMAÇÃO O RIENTADA A O BJETOS 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 L INGUAGEM J AVA 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 L INGUAGEM J AVA Tipos de dados 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 L INGUAGEM J AVA Inicialização 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 L INGUAGEM J AVA Operadores Atribuição: = Aritméticos: + - * / % Unários: Lógicos: = = != =

20 A L INGUAGEM J AVA Instruções de controle de fluxo Condicionais if-else / switch-case (break) Laço for / while / do-while Exceção try-catch-finally (throw)

21 A L INGUAGEM J AVA Vetores Declaraçã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 L INGUAGEM J AVA 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 L INGUAGEM J AVA Strings - Alguns Métodos.substring().startsWith().endsWith().length().toUpperCase().toLowerCase().replace().charAt().trim.equals().compareTo().equalsIgnoreCase().toString() String.valueOf()

24 A L INGUAGEM J AVA 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 L INGUAGEM J AVA 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 L INGUAGEM J AVA 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 L INGUAGEM J AVA 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 0; 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 O BJETOS E C LASSES EM J AVA Exemplo: Lâmpada class Lamp { private boolean LampIsOn; public void turnKnob() { LampIsOn = !LampIsOn; } public Lamp() { LampIsOn = false; } Variável Método Construtor

30 O BJETOS E C LASSES EM J AVA 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 O BJETOS E C LASSES EM J AVA Herança class StrobeLamp extends Lamp { private int strobeRate; public setStrobeRate( int s ) { strobeRate = s; }

32 O BJETOS E C LASSES EM J AVA 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 O BJETOS E C LASSES EM J AVA 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 O BJETOS E C LASSES EM J AVA 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 O BJETOS E C LASSES EM J AVA 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 O BJETOS E C LASSES EM J AVA 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 C LASSES E SSENCIAIS 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 C LASSES E SSENCIAIS 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 C LASSES E SSENCIAIS 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 C LASSES E SSENCIAIS 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 C LASSES E SSENCIAIS 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 C LASSES E SSENCIAIS Lendo e escrevendo

44 C LASSES E SSENCIAIS 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 A PPLETS 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 A PPLETS 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 A PPLETS 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 A PPLETS 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 A PPLETS A Simple Program Here is the output of my program:

51 Classes Avançadas

52 C LASSES A VANÇ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 C LASSES A VANÇADAS java.net 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 C LASSES A VANÇADAS java.security 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 C LASSES A VANÇ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 - Teach yourself Java 1.1 in 21 Days, L. Lemay & C. Perkins Java Unleashed, Michael Morrison The Java Tutorial, Mary Campione & Kathy Walrath


Carregar ppt "U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova Setembro/98."

Apresentações semelhantes


Anúncios Google