Você está na página 1de 85

Disciplina: Processo de Desenvolvimento de Software

Professores: Rejane Costa Figueiredo Georges Amvame-Nze Andr Barros de Sales Luiz Carlos M. Ribeiro

Sumrio

1. Introduo Linguagem JAVA 2. Programao Orientao a Objetos 3. GUI

1. Introduo Linguagem JAVA


1.1. Objetivos. Utilizar o ambiente de desenvolvimento da linguagem Java JDK e/ou IDE Eclipse; Identificar e utilizar os principais componentes da linguagem Java; Desenvolver aplicaes na linguagem Java:

1. Introduo Linguagem JAVA


1.2. O que JAVA. Foi projetada levando em conta o que havia de melhor e pior nos cinqenta anos de existncias das linguagens de programao; Java parte do que deu ou no certo nas linguagens que a precederam ou lhe foram contemporneas. E suas caractersticas fazem-na uma linguagem muito til nestes tempos de interconectividade e migrao tecnolgica constantes; Java totalmente orientada a objetos e sua parente mais prxima a linguagem C/C++. Programadores em C sentir-se-o muito vontade ao programarem em Java.

1. Introduo Linguagem JAVA


1.2. Como surgiu o JAVA.

Java ao mesmo tempo uma linguagem e um ambiente de programao (Java Enterprise Edition - JEE); Criada pela Sun Microsystems, foi inicialmente destinada a pequenos dispositivos eletrnicos e quase fracassou; O mais importante voc saber que inicialmente a linguagem Java no inclua a internet em suas pretenses; Hoje tem se mostrado a linguagem ideal para desenvolvimento para internet e computao distribuda.

1. Introduo Linguagem JAVA


1.2. Como surgiu o JAVA (cont). O principal responsvel pelo desenvolvimento da linguagem Java foi o engenheiro James Gosling que, a servio Sun, comandou e orientou o grupo de trabalho responsvel pelo desenvolvimento do ambiente de programao Java; O incio do desenvolvimento da linguagem Java data de 1992, mas s em 1995, Java foi apresentada ao mundo como linguagem e ambiente de desenvolvimento multiplataforma;

1. Introduo Linguagem JAVA


1.3. Funcionamento do JAVA.

Java uma linguagem de programao totalmente orientada a objetos (OO); Seu funcionamento, no que diz respeito ao desenvolvimento, semelhante a outras linguagens: DIGITAR, COMPILAR, EXECUTAR e DEPURAR; Mas como j vimos, uma das poucas, seno a nica linguagem de programao que permite ao programador criar um nico cdigo que roda sem alterao em qualquer computador que possua uma Java Virtual Machine instalada; justamente a JVM ou Mquina Virtual Java o segredo por trs da caracterstica de multiplataforma, apresentada pelo ambiente de desenvolvimento Java.

1. Introduo Linguagem JAVA


1.3. Funcionamento do JAVA (cont). Interpretador Java(runtime Java ou JVM Java Virtual Machine/Mquina Virtual Java)
JVM para WIN32 JVM para SOLARIS JVM para Linux

Cdigo Fonte Arquivo.java

Compilador Java

Binrio Java Arquivo.class

O cdigo fonte um arquivo digitado em qualquer editor de texto puro e salvo com extenso .java

Compilador Javac

O compilador Java gera um arquivo binrio com o mesmo nome do arquivo gravado com a extenso.java. Esse arquivo o programa em Java e pode ser executado em qualquer mquina que possua a Java Virtual Machine instalada. como se tivssemos um computador dentro do outro (emulador).

1. Introduo Linguagem JAVA


1.3. Funcionamento do JAVA (cont). javac java

Cdigo Fonte Cdigo Fonte .java .java

Bytecode gerado Bytecode gerado .class .class

Sua aplicao Sua aplicao Java Java

javadoc

Cdigo Cdigo Fonte Fonte Compilao

Documentao Documentao HTML da classe HTML da classe

Bytecode Bytecode Interpretao

Mquina virtual JAVA

1. Introduo Linguagem JAVA


1.4. Usando o JDK.

Instalar o JDK apropriado para o seu ambiente. A ltima verso homologada encontra-se em: www.javasoft.com www.java.sun.com Inicializar apropriadamente as variveis de ambiente. P.exemplo: PATH=%PATH%;C:\Program Files\Java\jdk1.5.0\bin;

10

1. Introduo Linguagem JAVA


1.4. Usando o JDK (cont).

11

1. Introduo Linguagem JAVA


1.4. Usando o JDK (cont).

12

1. Introduo Linguagem JAVA


1.4. Usando o JDK. Inicializar apropriadamente as variveis de ambiente. P.exemplo no Windows Vista: PATH=%PATH%;C:\Program Files\Java\jdk1.5.0\bin;

#3

#1

#2

13

1. Introduo Linguagem JAVA


1.4. Usando o JDK: teste dos comandos JAVA e JAVAC.

14

1. Introduo Linguagem JAVA


1.4. Usando o IDE Eclipse.

15

1. Introduo Linguagem JAVA


1.4. Usando o IDE Eclipse: tela principal.

16

1. Introduo Linguagem JAVA


1.4. Usando o IDE Eclipse: inicio.

17

1. Introduo Linguagem JAVA


1.4. Usando o IDE Eclipse: Perspectiva Java.

18

1. Introduo Linguagem JAVA


1.4. Usando o IDE Eclipse: criando um projeto Java.

19

1. Introduo Linguagem JAVA


1.4. Usando o IDE Eclipse: criando um projeto Java (cont).

20

1. Introduo Linguagem JAVA


1.4. Usando o IDE Eclipse: criando a class Aula PDS.

21

1. Introduo Linguagem JAVA


1.4. Usando o IDE Eclipse: criando a class Aula PDS.

22

1. Introduo Linguagem JAVA


1.4. Usando o IDE Eclipse: escrevendo o comando println.

23

1. Introduo Linguagem JAVA


1.4. Usando o IDE Eclipse: executando o projeto.

24

1. Introduo Linguagem JAVA


1.5. Meu Primeiro Programa.

// Comentario de uma linha public class HelloInternet { public static void main (String args[]) { System.out.println("Hello Internet!"); } }

25

1. Introduo Linguagem JAVA


1.5. Primeiro Programa (cont).

Certifique-se de ter adicionado a sua lista de paths: o path do compilador e interpretador Java, Javac e Java respectivamente; Crie o arquivo ao lado em um diretrio qualquer e salve com o nome: HelloInternet.Java; Chame o compilador HelloInternet.Java; Java para este arquivo: Javac

Seu diretrio deve ter recebido um novo arquivo aps essa compilao: HelloInternet.class; Chame o interpretador Java para este arquivo (omita a extenso .class de arquivo): Java HelloInternet; Observe o resultado na tela: Hello Internet!
26

1. Introduo Linguagem JAVA


1.5. Primeiro Programa (cont).

//Comentrio de uma linha


Comentrios em Java seguem a mesma sintaxe de C++, "//" inicia uma linha de comentrio, todo o restante da linha ignorado. Existe tambm um outro tipo de comentrio formado por /* Insira aqui o texto a ser ignorado */ , este tipo de comentrio pode ser intercalado em uma linha de cdigo. Comentrios so tratados como espaos em branco.

// Comentario de uma linha // Comentario de uma linha public class HelloInternet public class HelloInternet { { public static void main (String args[]) public static void main (String args[]) { { System.out.println("Hello Internet!"); System.out.println("Hello Internet!"); } } } }
27

1. Introduo Linguagem JAVA


1.5. Primeiro Programa (cont).

public class HelloInternet


class a palavra reservada que marca o declarao de uma classe; inicio da

public um especificador, por enquanto guarde public class como o incio da declarao de uma classe. Toda classes sero declaradas assim por enquanto.

// Comentario de uma linha // Comentario de uma linha public class HelloInternet public class HelloInternet { { public static void main (String args[]) public static void main (String args[]) { { System.out.println("Hello Internet!"); System.out.println("Hello Internet!"); } } } }
28

1. Introduo Linguagem JAVA


1.5. Primeiro Programa (cont).

HelloInternet
o nome dado a esta classe. O "abre chaves" marca o incio das declaraes da classe que so os atributos e mtodos. Esta classe s possui uma declarao, a do mtodo main, note que um mtodo, ao contrrio de C++, s pode ser declarado {internamente} a classe a qual pertence, evitando as confuses sobre "escopo". Desta forma, todo pedao de cdigo em Java deve pertencer ao abre chaves, fecha chaves da definio de uma classe. // Comentario de uma linha // Comentario de uma linha public class HelloInternet public class HelloInternet { { public static void main (String args[]) public static void main (String args[]) { { System.out.println("Hello Internet!"); System.out.println("Hello Internet!"); } } } }
29

1. Introduo Linguagem JAVA


1.5. Primeiro Programa (cont): trecho do programa.

public
um qualificador do mtodo que indica que este acessvel externamente a esta classe (para outras classes que eventualmente seriam criadas), no se preocupe com ele agora, apenas declare todos os mtodos como public.

// Comentario de uma linha // Comentario de uma linha public class HelloInternet public class HelloInternet { { public static void main (String args[]) public static void main (String args[]) { { System.out.println("Hello Internet!"); System.out.println("Hello Internet!"); } } } }
30

1. Introduo Linguagem JAVA


1.5. Primeiro Programa (cont): trecho do programa.

static
um outro qualificador ou "specifier", que indica que o mtodo deve ser compartilhado por todos os objetos que so criados a partir desta classe; Os mtodos static podem ser invocados, mesmo quando no foi criado nenhum objeto para a classe, para tal deve-se seguir a sintaxe: <NomeClasse>.<NomemetodoStatic>(argumentos);. Retornaremos a esta explicao mais tarde, por hora voc precisa saber que particularmente o mtodo main precisa ter essa qualificao porque ele chamado sem que se crie nenhum objeto de sua classe (a classe HelloInternet). // Comentario de uma linha // Comentario de uma linha public class HelloInternet public class HelloInternet { { public static void main (String args[]) public static void main (String args[]) { { System.out.println("Hello Internet!"); System.out.println("Hello Internet!"); } } } }

31

1. Introduo Linguagem JAVA


1.5. Primeiro Programa (cont): trecho do programa.

void
Semelhante ao void C++ ou C, o valor de retorno da funo, quando a funo no retorna nenhum valor ela retorna void, uma espcie de valor vazio que tem que ser especificado.

// Comentario de uma linha // Comentario de uma linha public class HelloInternet public class HelloInternet { { public static void main (String args[]) public static void main (String args[]) { { System.out.println("Hello Internet!"); System.out.println("Hello Internet!"); } } } }

32

1. Introduo Linguagem JAVA


1.5. Primeiro Programa (cont): trecho do programa. main() Este um nome particular de mtodo que indica para o compilador o incio do programa; dentro deste mtodo e atravs das iteraes entre os atributos, variveis e argumentos visveis nele que o programa se desenvolve.

// Comentario de uma linha // Comentario de uma linha public class HelloInternet public class HelloInternet { { public static void main (String args[]) public static void main (String args[]) { { System.out.println("Hello Internet!"); System.out.println("Hello Internet!"); } } } }

33

1. Introduo Linguagem JAVA


1.5. Primeiro Programa (cont): trecho do programa.

(String args[])
o argumento do mtodo main e por consequncia do programa todo, ele um vetor de Strings que formado quando so passados ou no argumentos atravs da invocao do nome do programa na linha de comando do sistema operacional, exemplo: Java HelloInternet argumentotexto1 argumentotexto2 // Comentario de uma linha // Comentario de uma linha public class HelloInternet public class HelloInternet { { public static void main (String args[]) public static void main (String args[]) { { System.out.println("Hello Internet!"); System.out.println("Hello Internet!"); } } } }

34

1. Introduo Linguagem JAVA


1.5. Primeiro Programa (cont): trecho do programa.

...

"Abre chaves" e "fecha chaves". Para quem no conhece C ou C++, eles podem ser entendidos como algo semelhante ao BEGIN END de Pascal, ou seja: delimitam um bloco de cdigo.

// Comentario de uma linha // Comentario de uma linha public class HelloInternet public class HelloInternet { { public static void main (String args[]) public static void main (String args[]) { { System.out.println("Hello Internet!"); System.out.println("Hello Internet!"); } } } }

35

1. Introduo Linguagem JAVA


1.5. Primeiro Programa (cont): trecho do programa.

System.out.println("Hello Internet!");
Chamada do mtodo println para o atributo out da classe System, o argumento uma constante do tipo String para imprimir a cadeia "Hello Internet!" e posicionar o cursor na linha abaixo; Por hora guardar esta linha de cdigo como o comando para imprimir mensagens na tela, onde o argumento que vem entre aspas a String a ser impressa. // Comentario de uma linha // Comentario de uma linha public class HelloInternet public class HelloInternet { { public static void main (String args[]) public static void main (String args[]) { { System.out.println("Hello Internet!"); System.out.println("Hello Internet!"); } } } }

36

1. Introduo Linguagem JAVA


1.5. Primeiro Programa (cont): convenes.

Variveis e mtodos iniciam com letras minsculas; Classes iniciam com letras maisculas; Nome composto: utilizar letras maisculas para as iniciais das palavras que seguem a primeira; Letras maisculas para as constantes.

37

1. Introduo Linguagem JAVA


1.6. Estrutura da Linguagem.

Comentrios

H trs formas de inserir comentrios: // comentrios em uma linha /* comentrios em uma ou mais linhas */ /** documentando comentrios */ quando colocado Imediatamente antes da declarao (de uma funo ou varivel), indica que o comentrio poder ser includo automaticamente em uma pgina html (gerado pelo comando javadoc).

38

1. Introduo Linguagem JAVA


1.6. Estrutura da Linguagem.

Descritores do javadoc
@param @return @exception @see @since <nome> <Descrio do parmetro> Obs.: (incluir uma descrio para cada parmetro) <Descrio do retorno> <nome> <Descrio da exceo lanada pelo mtodo> <nome do hipertexto a ser relacionado> <indicar a verso da incluso deste membro>

39

1. Introduo Linguagem JAVA


1.6. Estrutura da Linguagem.

Exemplo de javadoc
/** * Programa para exemplificar o javadoc. */ public class HelloInternet { /** * Mtodo <code>main</code>. Determina o incio da execuo. * @param args Recebe um array de elementos do tipo String que * ser passado na linha de comando. */ public static void main (String args[]) { System.out.println("Hello Internet!"); } }

40

1. Introduo Linguagem JAVA


1.6. Estrutura da Linguagem.

Modificadores de Acesso
public private protected static

Outros Modificadores
abstract final

41

1. Introduo Linguagem JAVA


1.6. Estrutura da Linguagem. Exemplos

static final int NUM = 10; public abstract class Profissional { ... } private int idade; public int getIdade(); protected int calculaIdade();

42

1. Introduo Linguagem JAVA


1.6. Estrutura da Linguagem.

Ponto-e-vrgula, blocos e espao em branco

Os comandos so terminados com ponto-e-vrgula. Um bloco delimitado por chaves - { e } e constitui um comando composto. O espao em branco permitido entre elementos do cdigo fonte, em qualquer lugar e em qualquer quantidade. So considerados espao em branco o espao, o tab (\t) e mudana de linha (\n). { int x; x = 23 * 54; }
43

1. Introduo Linguagem JAVA


1.6. Estrutura da Linguagem.

Identificadores
O identificador comea com uma letra, hfen-caixa-baixa ( _ ), ou smbolo dlar ($). Os subsequentes caracteres podem conter dgitos. Caracteres maisculo e minsculo so diferentes e no tem tamanho mximo. Identificadores vlidos: identifier userName User_name userName _sys_var1 $change Utilizar somente caracteres ascii (porque o unicode pode suportar caracteres diferentes com a mesma representao), no utilizar palavra reservada e evitar nome iniciados com $ (por causa das variveis de ambiente do Sistema Operacional).

44

1. Introduo Linguagem JAVA


1.6. Estrutura da Linguagem.

Palavras reservadas

abstract boolean break byte case catch char class continue default

do double else extends false final finally float for if

implements import instanceof int interface long native new null package

private protected public return short static super switch synchronized this

throw throws transient true try void volatile while

Nota: atualmente as seguintes palavras reservadas no so utilizadas: cast, const, future, generic, goto, inner, operator, outer, rest, var.

45

1. Introduo Linguagem JAVA


1.6. Estrutura da Linguagem.

Tipos

Tipo boolean char byte short int long float double void

Tamanho 1-bit 16-bit 8-bit 16-bit 32-bit 64-bit 32-bit 64-bit

Valor Mn Unicode 0 -128 -215 -231 -263 IEEE754 IEEE754

Valor Mx Unicode216- 1 +127 +215 1 +231 1 +263 1 IEEE754 IEEE754

Wrapper Boolean Character Byte Short Integer Long Float Double Void

46

1. Introduo Linguagem JAVA


1.6. Estrutura da Linguagem.

Declarao de variveis e constantes


int x, y; x = 6; y=1000; float z = 3.414f; double w = 3.1415; boolean truth = true; char c; c = A; final int MAX = 2; final int CONSTANTE; CONSTANTE = 1; // declarando variveis inteiras

// atribuindo valores a varivel // ponto flutuante // declarando e atribuindo double // booleano // declarando varivel caracter // atribuindo um valor char // Constantes // somente admite uma atribuio
47

1. Introduo Linguagem JAVA


1.6. Estrutura da Linguagem.

Operadores Aritmticos

Operador + * / %

Uso op1 + op2 op1 - op2 op1 * op2 op1 / op2 op1 % op2

Descrio Retorna a soma de op1 e op2. Retorna a subtrao de op1 por op2. Retorna a multiplicao de op1 por op2. Retorna a diviso de op1 por op2. Retorna o resto da diviso de op1 por op2.

48

1. Introduo Linguagem JAVA


1.6. Estrutura da Linguagem.

Operadores Aritmticos

Operador + ++ ++ ---

Uso +op -op op++ ++op op---op

Descrio Promove op para int, se for byte, short ou char. Retorna op aritmeticamente negado. Retorna o valor de op, depois o incrementa de 1. Incrementa op de 1,depois retorna o valor. Retorna o valor de op, depois o decrementa de 1. Decrementa op de 1,depois retorna o valor.
49

1. Introduo Linguagem JAVA


1.6. Estrutura da Linguagem.

Operadores Aritmticos

Operador + ++ ++ ---

Uso +op -op op++ ++op op---op

Descrio Promove op para int, se for byte, short ou char. Retorna op aritmeticamente negado. Retorna o valor de op, depois o incrementa de 1. Incrementa op de 1,depois retorna o valor. Retorna o valor de op, depois o decrementa de 1. Decrementa op de 1,depois retorna o valor.
50

1. Introduo Linguagem JAVA


1.6. Estrutura da Linguagem.

Operadores Relacionais

Operador > >= < <= == !=

Uso op1 > op2 op1 >= op2 op1 < op2 op1 <= op2 op1 == op2 op1 != op2

Retorna verdadeiro se op1 for maior que op2. op1 for maior que ou igual ao op2. op1 for menor que op2. op1 for menor que ou igual ao op2. op1 igual ao op2. op1 diferente do op2.

51

1. Introduo Linguagem JAVA


1.6. Estrutura da Linguagem.

Operadores Lgicos

Operador && ||

Uso op1 && op2 op1 || op2

Retorna verdadeiro se op1 e op2 forem true. S avalia op2, se op1 for true. op1 ou op2 for true (ou ambos).S avalia op2, se op1 for false. op for false. op1 e op2 forem true. Sempre avalia op1 e op2. op1 ou op2 for true (ou ambos). Sempre avalia op1 e op2. op1 diferente do op2.

! & | !=

! op op1 & op2 op1 | op2 op1 != op2

52

1. Introduo Linguagem JAVA


1.6. Estrutura da Linguagem.

Controle de Fluxo

Categoria deciso loop diversos

Comando if-else, switch-case for, while, do-while break, continue, label: , return

53

1. Introduo Linguagem JAVA


1.6. Estrutura da Linguagem.

Controle de Fluxo - if

if

(expresso booleana) comando ou bloco

else comando ou bloco

54

1. Introduo Linguagem JAVA


1.6. Estrutura da Linguagem.

Exemplo de uso - if
public class UsoIF { public static void main (String args[]) { int a = 10; int b = 20; int c; if (a > b) c = a; else c = b; System.out.println("O maior valor = " + c); } }
55

1. Introduo Linguagem JAVA


1.6. Estrutura da Linguagem.

Controle de Fluxo - while

while (expresso booleana) comando ou bloco

ou
do comando ou bloco while(expresso booleana);

56

1. Introduo Linguagem JAVA


1.6. Estrutura da Linguagem.

Exemplo de uso - while


public class UsoWhile { public static void main (String args[]) { int i = 0; while (i < 11) { if ( (i % 2) == 0) { System.out.println("Nmero " + i + " e' par !"); } i = i + 1; } } }

57

1. Introduo Linguagem JAVA


1.6. Estrutura da Linguagem.

Exemplo de uso - do while


public class UsoDoWhile { public static void main (String args[]) { int i = 0; do { if ( (i % 2) == 0) { System.out.println("Nmero " + i + " e' par !"); } i = i + 1; } while (i < 11); } }

58

1. Introduo Linguagem JAVA


1.6. Estrutura da Linguagem.

Controle de Fluxo - for

for(expresso inicial; expresso booleana; expresso de iterao) comando ou bloco de expresso inicial; while(expresso booleana) { comando ou bloco de expresso de iterao; }

59

1. Introduo Linguagem JAVA


1.6. Estrutura da Linguagem.

Exemplo de uso - for


public class UsoFor { public static void main(String[] args) { for (int i=1;i<=15;i++) { System.out.println ("O quadrado de " + i + " = " + i * i ); } } }

60

1. Introduo Linguagem JAVA


1.6. Estrutura da Linguagem.

Controle de Fluxo - switch

switch(expresso1) { case expresso2: comando ou bloco break; . . . case expresson: comando ou bloco break; default: comando ou bloco break; }

61

1. Introduo Linguagem JAVA


1.6. Estrutura da Linguagem.

Exemplo de uso - switch


public class UsoSwitch { public static void main (String args[]) { for (int i = 1; i<5; i++) { switch (i) { case 1: System.out.println ("Numero UM"); break; case 2: System.out.println ("Numero DOIS"); break; case 3: System.out.println ("Numero TRES"); break; default: System.out.println ("NUMERO INVALIDO"); } } } }

62

Sumrio

1. Introduo Linguagem JAVA 2. Introduo Orientao a Objetos 3. GUI

63

2. Introduo Orientao a Objetos


2.1. Objetivos.

Prover mecanismos para visualizar a complexidade do desenvolvimento de software da mesma forma que visualizamos a complexidade do mundo ao nosso redor; Acelerar o desenvolvimento de softwares com base na modularidade e acoplamento; Melhorar a qualidade do software desenvolvido.

64

2. Introduo Orientao a Objetos


2.2. Classes.

definem a estrutura e o comportamento de um tipo de objeto; atuam como templates; permitem a instanciao de um ou mais objetos de um mesmo tipo.

Nome Atributos Mtodos


65

2. Introduo Orientao a Objetos


2.2. Classes (cont). Viso do mundo real: moldes para criao de objetos; especificam propriedades e aes em comum a todos seus objetos.

Classe Automvel

66

2. Introduo Orientao a Objetos


2.2. Classes (cont). Classes - Viso em POO: Um prottipo que define os atributos e os mtodos comuns a todos objetos de um determinado tipo e da prpria classe, com a finalidade de servir como molde para a criao de objetos.

Classe

Empregado

Objetos

Joaquim

Jos

Maria

67

2. Introduo Orientao a Objetos


2.2. Classes (cont). Classes - Viso em POO: Um prottipo que define os atributos e os mtodos comuns a todos objetos de um determinado tipo e da prpria classe, com a finalidade de servir como molde para a criao de objetos.

Classe

Empregado

Objetos

Joaquim

Jos

Maria

68

2. Introduo Orientao a Objetos


2.3. Objetos.

Um objeto uma representao abstrata de uma entidade do mundo real, que tem um identificador nico, propriedades embutidas e a habilidade de interagir com outros objetos e consigo mesmo. O estado do objeto um conjunto de valores que os atributos do objeto podem ter em um determinado instante do tempo.

69

2. Introduo Orientao a Objetos


2.3. Objetos (cont). Viso do mundo real: Na nossa vida, estamos cercados por objetos.

70

2. Introduo Orientao a Objetos


2.3. Objetos (cont). Viso em POO: Um conjunto distinto de atributos e mtodos que representam entidades do mundo real, implementados por software e gerados (instanciados) atravs de classes.

Mtodos

Mtodos

Atributos

Mtodos

Mtodos
71

2. Introduo Orientao a Objetos


2.4. Criando Objetos em JAVA. Objetos so criados atravs da declarao new, seguida de um mtodo construtor. Exemplo: Automovel gol = new Automovel(); Uma classe pode ter construtores especializados ou somente o construtor default (gerado pelo compilador); Um construtor recebe sempre o mesmo nome da sua classe; O mtodo construtor gera uma instncia do objeto em memria e o seu cdigo executado imediatamente aps a criao do objeto provendo-lhe um estado inicial; Valores de parmetros so passados no momento da criao.

72

2. Introduo Orientao a Objetos


2.4. Criando Objetos em JAVA (cont). Quando declaramos variveis de qualquer tipo primitivo (boolean, byte, short, char, int, long, float, ou double) o espao em memria (na rea de dados) alocado como parte da operao; A declarao de uma varivel referncia a um objeto no aloca espao em memria; A alocao de memria (no heap) feita somente quando o objeto criado.

73

2. Introduo Orientao a Objetos


2.4. Criando Objetos em JAVA (cont).

Considere o exemplo abaixo: Automovel gol; gol = new Automovel();

O primeiro comando, a declarao, aloca apenas o espao suficiente para a referncia. O segundo, aloca o espao para os atributos do objeto gol; Somente aps a criao do objeto que seus membros (atributos e mtodos) podem ser referenciados.

74

2. Introduo Orientao a Objetos


2.4. Criando Objetos em JAVA (cont). Alocao e layout: No corpo do mtodo, a declarao Automovel gol aloca espao somente para a referncia: gol O comando new Automovel() aloca e inicializa o espao: String modelo String cor int ano

75

2. Introduo Orientao a Objetos


2.4. Criando Objetos em JAVA (cont). Alocao e layout: No corpo do mtodo, a declarao Automovel gol aloca espao somente para a referncia: gol O comando new Automovel() aloca e inicializa o espao: String modelo String cor int ano

76

2. Introduo Orientao a Objetos


2.4. Criando Objetos em JAVA (cont). Alocao e layout: No corpo do mtodo, a declarao Automovel gol aloca espao somente para a referncia: gol ????????

O comando new Automovel() aloca e inicializa o espao: ? ? 0

String modelo String cor int ano

77

2. Introduo Orientao a Objetos


2.4. Criando Objetos em JAVA (cont).

Alocao e layout Finalmente, atribuindo a varivel referncia o endereo do objeto alocado. gol = new Automovel(); gol 0x01abdfe String modelo String cor int ano ? ? 0

78

2. Introduo Orientao a Objetos


2.5. Criando Objetos em JAVA: EXEMPLO. public class Automovel { String modelo,cor; int ano; boolean estadoMotor = false; public void ligaMotor() { estadoMotor = true; } public void informaDados() { String motorString; if (estadoMotor){ motorString = " ligado"; } else{ motorString = " desligado"; } System.out.println("Automovel:" + modelo + " " + ano + " " + cor + motorString); } }

79

2. Introduo Orientao a Objetos


2.5. Criando Objetos em JAVA: EXEMPLO (cont).
public class AgenciaAutomoveis { public static void main(String args[]) { // Criando os objetos (instancias) da classe Automovel: Automovel fusca = new Automovel(); Automovel gol = new Automovel(); Automovel monza = new Automovel(); fusca.setModelo("Fusca); fusca.setCor("Preto); fusca.setAno(69); gol.setModelo("Gol); gol.setCor("Vermelho); gol.setAno(96); monza.setModelo("Monza); monza.setCor("Prata); monza.setAno(94); // Ligando os motores dos automoveis: fusca.ligaMotor(); monza.ligaMotor(); // Mostrando informaes dos automoveis: fusca.informaDados(); gol.informaDados(); monza.informaDados(); } }

80

2. Introduo Orientao a Objetos


2.6. Atributos. propriedades associadas a uma classe e seus objetos; atributos armazenam resultados do processamento feito pelos mtodos da classe.

instncia

atributos do objeto

atributos da classe (estticos)

Nome Cor do plo Idade

Nmero de patas

81

2. Introduo Orientao a Objetos


2.6. Atributos: EXEMPLO.
public class Canil { public static void main(String args[]) { Cachorro rex = new Cachorro(); // por agora no se preocupe // com a palavra new, ela ser explicada mais tarde !!! rex.setNome("Rex); rex.setIdade(2); rex.setCorDoPelo("Marrom); System.out.println("Todo cachorro tem " + Cachorro.numeroDePatas + " patas"); System.out.println("O cachorro "+ rex.getNome() + " tem plo de cor:" + rex.getCorDoPelo()); } } class Cachorro { // neste ponto se define atributos da classe // Cachorro public static final int numeroDePatas = 4; // neste ponto se define atributos do objeto a ser // instanciado (criado) private String nome; private int idade; private String corDoPelo; }

82

2. Introduo Orientao a Objetos


2.7. Mtodos. Operaes que manipulam o estado do objeto;

Classe: Lmpada Objeto: philips60w

Mtodos

acender apagar indicarVoltagem

83

Sumrio

1. Introduo Linguagem JAVA 2. Introduo Orientao a Objetos 3. GUI

84

3. GUI
2.1. Objetivos.

Prover mecanismos para visualizar a complexidade do desenvolvimento de software da mesma forma que visualizamos a complexidade do mundo ao nosso redor; Acelerar o desenvolvimento de softwares com base na modularidade e acoplamento; Melhorar a qualidade do software desenvolvido.

85

Você também pode gostar