Programação Java - Pacotes Java Marco Fagundes [email protected] © 2007 Marco Fagundes - [email protected] 1 Tópicos Definição de Pacotes em Java Modificadores de Acesso Importação de Pacotes © 2007 Marco Fagundes - [email protected] 2 Tipos de Módulos em Java Pacotes agrupam classes relacionadas estruturam sistemas de grande porte, facilitando a localização das classes oferece um nível mais alto de abstração há mais classes do que pacotes © 2007 Marco Fagundes - [email protected] 3 Pacotes e Diretórios As classes de um pacote são definidas em arquivos com o mesmo cabeçalho: package nomeDoPacote; Se uma classe faz parte de um pacote, a declaração package deve ser a primeira linha da classe Cada pacote é associado a um diretório do sistema operacional © 2007 Marco Fagundes - [email protected] 4 Nomeando Pacotes O nome de um pacote é parte do nome do seu diretório associado: Por exemplo O pacote appBanco.contas está associado ao diretório ...\appBanco\contas Deve-se informar o caminho ...\ na variável CLASSPATH © 2007 Marco Fagundes - [email protected] 5 Nomeando Pacotes Exemplos de declarações de pacotes: package appBanco.contas; public class Conta { ... } package appBanco.clientes; public class Cliente{ ... } © 2007 Marco Fagundes - [email protected] 6 Pacotes e Visibilidade das Declarações Visibilidade default (Ausência de modificador) atributos, métodos e classes declaração só pode ser utilizada no pacote onde ela é introduzida Visibilidade pública (modificador public) atributos, métodos e classes declaração pode ser utilizada (é visível) em qualquer lugar © 2007 Marco Fagundes - [email protected] 7 Pacotes e Visibilidade de Declarações Visibilidade protegida (modificador protected) atributos e métodos declaração só pode ser utilizada no pacote onde ela é introduzida, ou nas subclasses da classe onde ela é introduzida Visibilidade privativa (modificador private) atributos e métodos declaração só pode ser utilizada na classe onde ela é introduzida © 2007 Marco Fagundes - [email protected] 8 Modificadores de Acesso A preocupação inicial é com a visibilidade da classe, pois de nada adianta termos um método public se a classe não tiver esse nível de acesso © 2007 Marco Fagundes - [email protected] 9 Acesso Default O acesso default permite a visualização da classe dentro do mesmo pacote Mesmo importando o pacote através da cláusula import a classe permanece inacessível package appBanco.clientes; class Cliente{ } package appBanco.contas; import appBanco.clientes.*; class Conta{ } © 2007 Marco Fagundes - [email protected] 10 Acesso Default ../appBanco /clientes Cliente.java Cliente.class /contas Conta.class Conta.java © 2007 Marco Fagundes - [email protected] 11 Lab1 - Definindo Pacotes Crie um diretório para a aplicação "appAcad". Construa um subdiretório para a classe básica Conta e um outro para Cliente. Crie e empacote as classes básicas dentro de seus respectivos diretórios e crie uma classe aplicativo TestaConta dentro do diretório de Conta. © 2007 Marco Fagundes - [email protected] 12 Lab1 - Definindo Pacotes Na classe aplicativo crie um objeto das classes básicas (Conta e Cliente) Compile e verifique os erros! © 2007 Marco Fagundes - [email protected] 13 Acesso Public O Modificador de acesso public, permite que a classe seja acessada a partir de qualquer pacote do sistema Para acessar classes de outros pacotes comandos import devem ser usados, aparecendo entre a declaração package e a declaração de classe © 2007 Marco Fagundes - [email protected] 14 Acesso Public package appBanco.clientes; public class Cliente{ } package appBanco.contas; import appBanco.clientes.*; public class Conta{ } © 2007 Marco Fagundes - [email protected] 15 Acesso Public ../appBanco /clientes Cliente.java Cliente.class /contas Conta.class Conta.java © 2007 Marco Fagundes - [email protected] 16 O Efeito do Acesso Protegido Fonte: Java 2 Sun Certified Programmer & Developer © 2007 Marco Fagundes - [email protected] 17