Baixe o app para aproveitar ainda mais
Prévia do material em texto
Java na Prática – Java e OO Célio Silva Aula 2 GFT Group 6 April 2010 Page 2/XX Java na Prática – Requisitos Requisito Projeto Criar interface para cadastrar agências utilizando Swing na camada View. Definição do Modelo de Dados Agencia Código Nome da agência CNPJ Endereço Ativo GFT Group 6 April 2010 Page 3/XX Java na Prática – Swing Componentes Campos texto – JTextField Rótulos – JLabel Botões – JButton Caixas de Seleção – JCheckBox Barras de Menu – JMenu Itens do Menu – JMenuItem Janela Interna (Quadro Interno) – JInternalFrame Janela Externa – Jframe Exercício Criar interface para manipular agências com as funções Salvar (Cadastrar e Alterar), Desativar, Reativar private Agencia preencherBeanAgencia(Agencia agencia); private void limparTela(); private void mostrarBeanAgencia(Agencia agencia); GFT Group 6 April 2010 Page 4/XX Java na Prática – Modelo de Dados – JavaBean Padrão JavaBeans Importância/Reflection Atributos e Métodos Métodos JavaBeans devem ser nomeados com o uso do camelCase Métodos JavaBeans devem começar com get, set, is, add ou remove Sombreamento de variáveis (shadowing) e o operador this Exercício Criar o bean Agencia de acordo com o padrão Demonstrar Convenções da IDE para criação de beans Agencia - codigo: int - nome: String - endereco: String - cnpj: String - ativa: boolean //getters e setters GFT Group 6 April 2010 Page 5/XX Java na Prática – Camada Business Conceitos Encapsulamento regra de negócios Separação camadas Reutilização de código Exercício Criar camada Business para manipular agências (AgenciaBusiness) AgenciaBusiness - agencia: Agencia + cadastrarAgencia(Agencia): void + consultarAgencia(int): Agencia + desativarAgencia(int): boolean + reativarAgencia(int): boolean GFT Group 6 April 2010 Page 6/XX Java na Prática – Modificador de Atributos Static Instância X Classe Inicialização estática Carregamento na JVM Quando usar: Use métodos estáticos para implementar comportamentos que não são afetados pelo estado dos membros de instância Use variáveis estáticas para guardar informações que são específicas da classe ao contrário de coisas específicas de instância Todos os membros estáticos pertencem à classe, não á instância Um método estático não pode acessar uma variável de instância diretamente Use o operador "." para acessar membros estáticos, mas lembre-se que usando uma variável de referência (this.) com um "." possui o mesmo efeito que usando a classe Exercício Implementar agência no modo estático para ser única (static Agencia[]) GFT Group 6 April 2010 Page 7/XX Java na Prática – Arrays Arrays Declaração Primitivos Objetos int[] numeros = new int[10]; long[] cpfs = new long[tamanho_array]; short[] outrosNumeros; OutrosNumeros = new short[0]; ArraysTeste [] meusArrays = new ArraysTeste[tamanho_array]; Object[][] arrayMultiDimensional = new Object[10][20]; String nomes [] = new String[]{"Celio","Batista","Silva"}; Propriedades Length Utilitário Arrays Exercícios Implementar array de Agencias[]para armazenar agências na camada business GFT Group 6 April 2010 Page 8/XX Java na Prática – Arrays Arrays podem conter primitivos ou objetos, mas o array é sempre um objeto Para se declarar um array, os colchetes podem estar a esquerda ou a direita do nome É obrigatório incluir-se o tamanho do array quando se cria o objeto, a menos que seja um array anônimo Elementos em um array não são automaticamente criados, no entanto primitivos tem seus elementos inicializados com valor default O índice de um array inicia em 0 Uma exceção ArrayIndexOutOfBoundsException ocorre quando se tenta usar um índice fora do limite Arrays tem uma variável chamada length cujo valor é o numero total de elementos no array O último índice que se pode acessar é sempre 1 - o tamanho do array Arrays multidimensionais são sempre arrays de arrays As dimensões em um array multidimensional podem ter tamanhos diferentes GFT Group 6 April 2010 Page 9/XX Java na Prática – For Loop Uma sentença for tem 3 partes: declaração e/ou inicialização, avaliação de um boolean, e a expressão de iteração Se uma variável é incrementada ou avaliada dentro de uma repetição for ela deve ser declarada antes da repetição ou dentro da declaração Uma variável declarada [não apenas inicializada] dentro de uma estrutura de repetição básica não pode ser acessada fora da repetição [em outras palavras, código abaixo da estrutura de repetição não poderá utilizar a variável] Você pode inicializar mais de uma variável do mesmo tipo na primeira parte da declaração do for padrão; cada inicialização deve ser separada por virgula Sentenças sem nome [unlabelled] Sentenças com nome [labelled] Pular iteração atual: continue Sair do loop: break Exercícios Criar loop para iterar sobre agencias e adicionar a nova agencia em um lugar vazio, utilizando break GFT Group 6 April 2010 Page 10/XX Java na Prática – Padrão de Projetos Singleton Singleton Mantém somente uma cópia da classe na JVM Não permite que a classe seja instanciada fora de seu escopo Exercício Implementar Singleton para criação de uma única classe AgenciaBusiness GFT Group 6 April 2010 Page 11/XX Java na Prática – Método Construtor Inicialização de variáveis (final) Invocações à construtores this() Pode ser chamado somente por outro método construtor, super() ou this(). this()pode aparecer somente como a primeira sentença em um construtor Lista de argumentos determina qual construtor sobrecarregado será chamado Membros de instância são acessíveis somente depois que os métodos construtores são executados Cuidados Construtor recursivo e loop infinito Muitos parâmetros Parâmetros de mesmo tipo Construtor com inversão de parâmetros Exercício Implementar método para popular várias agencias na inicialização com outro construtor GFT Group 6 April 2010 Page 12/XX Referências Bibliográficas: Certificação Sun para programador Java 5: guia de estudo (exame 310-055) / Kathy Sierra, Bert Bates Effective Java: Second Edition/First Edition / Joshua Bloch Sugestões, dicas ou reclamações: celio@celiosilva.com Obrigado! GFT Group 6 April 2010 Page 13/XX GFT Technologies AG Av. São Francisco, 98 - STA Rosália, CEP 18095-450. celio.da-silva@gft.com T +55 15 3332-0762 Célio Batista da Silva celio@celiosilva.com © Copyright Célio Batista da Silva, 2010 Presentation Title Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Folie 4 Folie 5
Compartilhar