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

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

Marcos André S. Kutova Setembro/98

Apresentações semelhantes


Apresentação em tema: "Marcos André S. Kutova Setembro/98"— Transcrição da apresentação:

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


Carregar ppt "Marcos André S. Kutova Setembro/98"

Apresentações semelhantes


Anúncios Google