poo1 aula 5 - pacotes criando-definindo_importando

12
Pacotes: Organizando suas classes e bibliotecas PROFESSOR: DÊNIS CAMURÇA

Upload: denis-marcos

Post on 04-Aug-2015

28 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Poo1   aula 5 - pacotes criando-definindo_importando

Pacotes: Organizando suas classes e bibliotecas

PROFESSOR: DÊNIS CAMURÇA

Page 2: Poo1   aula 5 - pacotes criando-definindo_importando

Cronograma

Criando pacotes Definindo pacotes Importando pacotes

Page 3: Poo1   aula 5 - pacotes criando-definindo_importando

Organização

Os diretórios estão diretamente relacionados aos chamados pacotes, e costumam agrupar classes de funcionalidades similares ou relacionadas Ex:

No pacote java.útil temos as classes Date, SimpleDateFormat e GregorianCalendar; Todas elas trabalham com datas de formas diferentes

Page 4: Poo1   aula 5 - pacotes criando-definindo_importando

Organização (Cont...)

Page 5: Poo1   aula 5 - pacotes criando-definindo_importando

Diretórios

Se a classe Cliente está no pacote banco, ela deverá estar no diretório com o mesmo nome: banco.

Se ela se localiza no pacote br.com.caelum.banco, significa que está no diretório br/com/caelum/banco.

A classe Cliente que se localizar nesse último diretório mencionado deve ser escrita da seguinte forma:

package br.com.ifpa.banco;

class Cliente {

// ...

}

Page 6: Poo1   aula 5 - pacotes criando-definindo_importando

Diretórios

package

Fica fácil notar que a palavra chave package indica qual o pacote/diretório que contem esta classe.

Um pacote pode conter nenhum ou mais subpacotes e/ou classes dentro dele.

Page 7: Poo1   aula 5 - pacotes criando-definindo_importando

Padrão de nomenclatura de pacotes

O padrão para dar nome aos pacotes é relativo ao nome da empresa que desenvolveu a classe: br.com.nomedaempresa.nomedoprojeto.subpacote br.com.nomedaempresa.nomedoprojeto.subpacote2 br.com.nomedaempresa.nomedoprojeto.subpacote2.subpacote3

Os pacotes só possuem letras minúsculas, não importa quantas palavras estejam contidas nele. Esse padrão existe para evitar ao máximo o conflito de pacotes de empresas diferentes.

As classes do pacote padrão de bibliotecas não seguem essa nomenclatura, que foi dada para bibliotecas de terceiros.

Page 8: Poo1   aula 5 - pacotes criando-definindo_importando

Import

Para usar uma classe do mesmo pacote basta fazer referencia a ela como foi feito até agora simplesmente escrevendo o próprio nome da classe. Se existe uma classe Banco dentro do pacote br.com.ifpa.banco, ela deve ser escrita assim:

package br.com.ifpa.banco;

class Banco {

String nome;

Cliente clientes[];

}

Page 9: Poo1   aula 5 - pacotes criando-definindo_importando

Import (cont...)

A classe Cliente deve ficar no mesmo pacote da seguinte maneira:

package br.com.ifpa.banco;

class Cliente {

String nome;

String endereco;

}

Page 10: Poo1   aula 5 - pacotes criando-definindo_importando

Import

A maneira mais simples de se referenciar a classe Banco: basta importá-la do pacote br.com.ifpa.banco:

package br.com.ifpa.banco.util;

import br.com.ifpa.banco.Banco; // agora podemos nos referenciar

// a Banco diretamente

class TesteDoBanco {

public static void main(String args[]) {

Banco meuBanco = new Banco();

meuBanco.nome = “Banco do Brasil”;

}

}

Page 11: Poo1   aula 5 - pacotes criando-definindo_importando

package, import, class

E muito importante manter a ordem! Primeiro aparece uma (ou nenhuma) vez o

package, depois pode aparecer um ou mais import e, por último as declarações de classes.

Page 12: Poo1   aula 5 - pacotes criando-definindo_importando

import x, y, z

E possível importar um pacote inteiro (todas as classes do pacote, exceto os subpacotes) através do *: Ex: import java.util.*;

Importar todas as classes de um pacote NÃO implica em perda de performance em tempo de execução

Importar todas as classes de um pacote pode trazer problemas com classes de mesmo nome!

Importar de um em um é considerado boa prática pois facilita a leitura para outros programadores