Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
PACOTES
Linguagem de Programação II
Ciência da Computação
Prof.ª Ms. Elaine Cecília Gatto
Escopo de Declarações
• Entidades Java:
• Classes, métodos, variáveis e parametros
• Declarações introduzem nomes que pode...
Escopo de Declarações
• O escopo de uma declaração de parâmetro é o
corpo do método em que a declaração aparece
• O escopo...
Escopo de Declarações
• O escopo de um método ou campo de uma classe é o
corpo inteiro dessa classe
• Qualquer bloco pode ...
Escopo de Classe
• Os modificadores de acesso PUBLIC e PRIVATE
controlam o acesso ás variáveis e métodos de uma
classe

• ...
Escopo de Classe
• VARIÁVEIS E MÉTODOS PRIVATE: não permanecem
diretamente acessíveis aos clientes da classe. Os
detalhes ...
REFERÊNCIA THIS
• A palavra reservada THIS permite que cada objeto
faça uma referencia a si próprio.
• Quando um método NÃ...
REFERÊNCIA THIS
• THIS também pode ser utilizado de forma explicita
no corpo de um método NÃO-STATIC.
• Frequentemente é u...
SOBRECARGA DE
CONSTRUTORES
• Funciona como os métodos sobrecarregados,
entretanto, é importante lembrar que:
• CONSTRUTORE...
GET E SET
• Métodos SET são
MODIFICADORES

chamados

de

métodos

• Métodos GET são chamados de métodos de acesso
ou de co...
GET E SET
• GET pode controlar como o cliente acessa a
variável private
• SET pode avaliar cuidadosamente as tentaivas de
...
MÉTODOS PREDICADOS
• São métodos que testam se uma condição é
verdadeira ou falsa.
• DICA: métodos set e get facilitam a d...
COMPOSIÇÃO
• É quando uma classe pode ter referencias a
objetos de outras classes como membros
• Também conhecida como REL...
ENUMERAÇÃO
• Define um conjunto de constantes representadas
como identificadores únicos.
• Os tipos ENUM são tipos por ref...
ENUMERAÇÃO
• Cada declaração ENUM declara uma classe ENUM com
as restrições seguintes:
• Tipos ENUM são implicitamente FIN...
ENUMERAÇÃO
• As constantes ENUM podem ser utilizadas em
qualquer lugar em que constantes podem ser
utilizadas (switch/case...
Coleta de Lixo e o Método
Finalize
• RARAMENTE UTILIZADO!!!!!!!!!
• Toda classe JAVA contém métodos da classe
OBJECT (paco...
Coleta de Lixo e o Método
Finalize
• Todo objeto criado utiliza recursos do sistema
computacional, particularmente a memór...
Coleta de Lixo e o Método
Finalize
• O MÉTODO FINALIZE é chamado pelo COLETOR DE
LIXO para faze a limpeza de terminação so...
Coleta de Lixo e o Método
Finalize
• A razão pela qual programadores NÃO DEVEM usar
o MÉTODO FINALIZE é que não se sabe qu...
Relembrando: STATIC
• Estático, parado, constante
• Quando definimos uma classe e criamos vários
objetos dela, já sabemos ...
Relembrando: STATIC
• Quando definimos variáveis com a palavra static
em uma classe ela terá um comportamento
especial: el...
Relembrando: STATIC
• Quando usar variáveis static em Java?????
• Quando você quiser ter um controle sobre os
objetos ou q...
MEMBROS DA CLASSE STATIC
• Um campo STATIC é utilizado no caso em que
apenas UMA CÓPIA de uma variável particular
deve ser...
MEMBROS DA CLASSE STATIC
• Portanto, UTILIZE uma variável static quando todos
os objetos de uma classe precisarem utilizar...
MEMBROS DA CLASSE STATIC
• Membros PUBLIC STATIC podem ser acessados
qualificando o nome de membro com o nome de
classe e ...
MEMBROS DA CLASSE STATIC
• Para acessar um MEMBRO PRIVATE STATIC quando
nenhum objeto da classe existe, um MÉTODO
PRIVATE ...
MEMBROS DA CLASSE STATIC
• Objetos STRINGS originais em Java são imutáveis:
eles não podem ser modificados depois de criad...
MEMBROS DA CLASSE STATIC
• MÉTODO STATIC GC:
• Classe java.lang

• Indica que o coletor de lixo deve tentar fazer o
melhor...
MEMBROS DA CLASSE STATIC
• REFORÇANDO: A JVM não garante quando o
coletor de lixo será executado
• IMPORTANTE: um método d...
MEMBROS DA CLASSE STATIC
• A referencia THIS não pode ser utilizada em um
MÉTODO STATIC pela mesma razão
• A referencia TH...
IMPORT STATIC
• Permite que os programadores referenciem
membros STATIC importados como se fossem
declarados na classe que...
IMPORT STATIC
• Duas formas:
• Import static simples: importa um membro static
particular.
Exemplo:
import
static
nomeDoPa...
VARIÁVEIS DE INSTÂNCIA
FINAL
• PRINCÍPIO DO MENOR PRIVILÉGIO: deve ser concedido
ao código somente a quantidade de privilé...
Reutilização de software
• Quando um programa JAVA executa em um
computador, é trabalho da JVM traduzir os
comandos JAVA e...
Abstração de dados e
encapsulamento
• Ocultamento de informações: quando classes
ocultam detalhes de implementação dos seu...
Abstração de dados e
encapsulamento
• ADT: abstract data type ou tipos de dados
abstratos
• INT: é uma representação abstr...
Abstração de dados e
encapsulamento
• ADT:
• Captura uma representação dos dados
• Captura as operações que podem ser real...
Abstração de dados e
encapsulamento
• Exemplos no netbeans
• Pacotes faciliam a reutilização de sotware
permitindo que pro...
Acesso de pacote
• É quando nenhum modificador de acesso é
especificado para um método ou variável quando esse
método ou v...
Acesso de pacote
• Exemplos no netbeans
• EXERCÍCIOS
Upcoming SlideShare
Loading in …5
×

JAVA - Pacotes

779 views

Published on

JAVA - Pacotes

Published in: Education
  • Be the first to comment

  • Be the first to like this

JAVA - Pacotes

  1. 1. PACOTES Linguagem de Programação II Ciência da Computação Prof.ª Ms. Elaine Cecília Gatto
  2. 2. Escopo de Declarações • Entidades Java: • Classes, métodos, variáveis e parametros • Declarações introduzem nomes que podem ser utilizados para referenciar essas entidades; • O escopo de uma declaração é a parte do programa que pode referenciar a entidade declarada pelo seu nome;
  3. 3. Escopo de Declarações • O escopo de uma declaração de parâmetro é o corpo do método em que a declaração aparece • O escopo de uma declaração de variável local vai do ponto em que a declaração aparece até o final desse bloco • O escopo de uma declaração de variável local que aparece na inicialização do cabeçalho de uma instrução FOR é o corpo da instrução FOR com as outras expressões do cabeçalho
  4. 4. Escopo de Declarações • O escopo de um método ou campo de uma classe é o corpo inteiro dessa classe • Qualquer bloco pode conter declarações de variáveis • SOMBREAMENTO: quando um parametro ou uma variável local em um método tiver o mesmo nome de um campo, então o campo permanece OCULTO até que o bloco termine a execução • EXEMPLO NO NETBEANS
  5. 5. Escopo de Classe • Os modificadores de acesso PUBLIC e PRIVATE controlam o acesso ás variáveis e métodos de uma classe • MÉTODOS PUBLIC: apresentam aos clientes da classe uma visualização dos serviços que a classe fornece • Os clientes da classe não precisam se preocupar com a maneira como a classe realiza as tarefas
  6. 6. Escopo de Classe • VARIÁVEIS E MÉTODOS PRIVATE: não permanecem diretamente acessíveis aos clientes da classe. Os detalhes de implementação da classe ficam ocultos.
  7. 7. REFERÊNCIA THIS • A palavra reservada THIS permite que cada objeto faça uma referencia a si próprio. • Quando um método NÃO-STATIC é chamado por um objeto particular, o corpo do método utilizada implicitamente a palavra-chave THIS para referenciar as variáveis de instância do objeto e outros métodos. • Evite nomes de parametros ou variaveis local nos métodos que conflitem com nomes de campos
  8. 8. REFERÊNCIA THIS • THIS também pode ser utilizado de forma explicita no corpo de um método NÃO-STATIC. • Frequentemente é um erro de lógica quando um método contém ump arametro ou variavel local com o mesmo nome de um campo da classe • Utilize a referencia THIS se desejar acessar o campo da classe, caso contrário, o parametro ou variavel local do método será referenciado
  9. 9. SOBRECARGA DE CONSTRUTORES • Funciona como os métodos sobrecarregados, entretanto, é importante lembrar que: • CONSTRUTORES não possuem tipo • Construtores não possuem retorno • Podemos ter vários construtores em uma classe desde que eles tenham números de parâmetros diferentes • Construtor sem argumentos: é o construtor padrão da classe
  10. 10. GET E SET • Métodos SET são MODIFICADORES chamados de métodos • Métodos GET são chamados de métodos de acesso ou de consulta • Com SET e GET é possível manipular campos privados de uma classe, entretanto, o acesso é restrito pela maneira como os métodos foram implementados pelo programador, garantindo a integridade dos dados.
  11. 11. GET E SET • GET pode controlar como o cliente acessa a variável private • SET pode avaliar cuidadosamente as tentaivas de modificar o valor da variável a fim de assegurar que o novo valor é apropriado para esse item de dados. • Lembre-se: o programador deve fornecer a verificação de validade, isso não ocorre de forma automática!
  12. 12. MÉTODOS PREDICADOS • São métodos que testam se uma condição é verdadeira ou falsa. • DICA: métodos set e get facilitam a depuração do software quando há problemas na compilação e execução do mesmo
  13. 13. COMPOSIÇÃO • É quando uma classe pode ter referencias a objetos de outras classes como membros • Também conhecida como RELACIONAMENTO TEM UM • É uma forma de reutilização de software • Uma classe tem referencias a objetos de outras classes
  14. 14. ENUMERAÇÃO • Define um conjunto de constantes representadas como identificadores únicos. • Os tipos ENUM são tipos por referencia: é possível referencias um objeto de um tipo enum com uma referencia • Uma declaração de um tipo ENUM é declarado como uma declaração ENUM
  15. 15. ENUMERAÇÃO • Cada declaração ENUM declara uma classe ENUM com as restrições seguintes: • Tipos ENUM são implicitamente FINAL, porque declaram constantes que nao devem ser modificadas • Constantes ENUM são implicitamente STATIC • Qualquer tentativa de criar um objeto de um tipo ENUM com um operador NEW resulta em um erro de compilação
  16. 16. ENUMERAÇÃO • As constantes ENUM podem ser utilizadas em qualquer lugar em que constantes podem ser utilizadas (switch/case, for, etc) • MÉTODO VALUES: é um método STATIC que retorna um ARRAY das constantes de ENUM na ordem em que elas foram declaradas • MÉTODO RANGE: exibe o intervalo das constantes do ENUM
  17. 17. Coleta de Lixo e o Método Finalize • RARAMENTE UTILIZADO!!!!!!!!! • Toda classe JAVA contém métodos da classe OBJECT (pacote.java.lang) • Você NÃO DEVE FINALIZE!!!!!!! UTILIZAR o MÉTODO • A JVM realiza coleta de lixo automatica para reivindicar a memória ocupada por objetos que não estão mais em uso
  18. 18. Coleta de Lixo e o Método Finalize • Todo objeto criado utiliza recursos do sistema computacional, particularmente a memória. • É necessário devolver ao sistema os recursos quando eles não estão mais em uso. • Exemplo: um aplicativo abre um arquivo no disco para modificar seu conteúdo. Se o aplicativo não fechar o arquivo, nenhum outro aplicativo poderá usar o arquivo até que ele seja fechado
  19. 19. Coleta de Lixo e o Método Finalize • O MÉTODO FINALIZE é chamado pelo COLETOR DE LIXO para faze a limpeza de terminação sobre um objeto um pouco antes de o coletor de lixo reivindicar a memória do objeto • O MÉTODO FINALIZE não recebe parâmetros e tem o tipo de retorno VOID • O COLETOR DE LIXO nunca pode executar antes de um programa terminar
  20. 20. Coleta de Lixo e o Método Finalize • A razão pela qual programadores NÃO DEVEM usar o MÉTODO FINALIZE é que não se sabe quando o método finalize será chamado. • Não há garantias de que o coletor de lixo executrar em uma data/hora específica. • Muitas classes JAVA fornecem métodos para liberação de recursos.
  21. 21. Relembrando: STATIC • Estático, parado, constante • Quando definimos uma classe e criamos vários objetos dela, já sabemos que cada objeto será uma cópia fiel da classe, porém com suas próprias variáveis e métodos em lugares distintos da memória.
  22. 22. Relembrando: STATIC • Quando definimos variáveis com a palavra static em uma classe ela terá um comportamento especial: ela será a mesma para todos os objetos daquela classe. • Não haverá um tipo dela em cada objeto. Todos os objetos, ao acessarem e modificarem essa variável, acessarão a mesma variável, o mesmo espaço da memória, e a mudança poderá ser vista em todos os objetos.
  23. 23. Relembrando: STATIC • Quando usar variáveis static em Java????? • Quando você quiser ter um controle sobre os objetos ou quando todos os objetos devem partilhar uma informação • Evitar ter que fazer Composição ou chamar métodos de outros objetos
  24. 24. MEMBROS DA CLASSE STATIC • Um campo STATIC é utilizado no caso em que apenas UMA CÓPIA de uma variável particular deve ser compartilhada por todos os objetos de uma classe • Também chamado de VARIÁVEL DE CLASSE • Uma variável STATIC representa INFORMAÇÕES DE ESCOPO DE CLASSE (todos os objetos compartilham os mesmos dados)
  25. 25. MEMBROS DA CLASSE STATIC • Portanto, UTILIZE uma variável static quando todos os objetos de uma classe precisarem utilizar a mesma cópia da variável • Variáveis estáticas tem escopo de classe • Membros PUBLIC STATIC podem ser acessados por meio de uma referencia a qualquer objeto da classe
  26. 26. MEMBROS DA CLASSE STATIC • Membros PUBLIC STATIC podem ser acessados qualificando o nome de membro com o nome de classe e um ponto. • Uma CLASSE de membros da classe PRIVATE STATIC pode ser acessada somente por métodos da classe. • Variáveis e métodos de classe estática existem e podem ser utilizados, mesmo que nenhum objeto dessa classe tiver sido instanciado
  27. 27. MEMBROS DA CLASSE STATIC • Para acessar um MEMBRO PRIVATE STATIC quando nenhum objeto da classe existe, um MÉTODO PRIVATE STATIC deve ser fornecido e o método deve ser chamado qualificando seu nome com o nome da classe e um ponto. • EXEMPLO NO NETBEANS • (8.12 E 8.13)
  28. 28. MEMBROS DA CLASSE STATIC • Objetos STRINGS originais em Java são imutáveis: eles não podem ser modificados depois de criados! • Quando concatenamos STRINGS na verdade estamos criando um novo objeto STRING. • Dica: ter muitas referências a um objeto STRING é seguro!!!
  29. 29. MEMBROS DA CLASSE STATIC • MÉTODO STATIC GC: • Classe java.lang • Indica que o coletor de lixo deve tentar fazer o melhor que puder para reivindicar os objetos que são elegíveis para a coleta de lixo • Isso não quer dizer que tudo será coletado!!!!
  30. 30. MEMBROS DA CLASSE STATIC • REFORÇANDO: A JVM não garante quando o coletor de lixo será executado • IMPORTANTE: um método declarado STATIC não pode acessar membros de clsse NÃO-STATIC, porque um método STATIC pode ser chamado mesmo quando nenhum objeto da classe foi instanciado.
  31. 31. MEMBROS DA CLASSE STATIC • A referencia THIS não pode ser utilizada em um MÉTODO STATIC pela mesma razão • A referencia THIS deve referenciar um objeto específico da classe • Quando um método STATIC é chamado, talvez não haja nenhum objeto da sua classe na memória. • A referencia THIS é exigida para permitir que um método de uma classe acesse outros membros NÃOSTATIC da mesma classe
  32. 32. IMPORT STATIC • Permite que os programadores referenciem membros STATIC importados como se fossem declarados na classe que os utiliza • O nome da classe e o ponto não são necessários para utilizar um membro static importado
  33. 33. IMPORT STATIC • Duas formas: • Import static simples: importa um membro static particular. Exemplo: import static nomeDoPacote.nomeDaClasse.nomeDoMembro • Import static por demanda: importa todos os membros static de uma classe. Exemplo: import static nomeDoPacote.nomeDaClasse.*; • Exemplo no netbeans
  34. 34. VARIÁVEIS DE INSTÂNCIA FINAL • PRINCÍPIO DO MENOR PRIVILÉGIO: deve ser concedido ao código somente a quantidade de privilégio e acesso que o código precisa para realizar sua tarefa designada, e não mais que isso. • FINAL: especifica que uma variavel não é modificável, isto é, uma constante. Qualquer tentativa de modificá-la é um erro • Não é necessário inicializar as variáveis final. Elas podem ser inicializadas em cada construtor. • Exemplo no netbeans
  35. 35. Reutilização de software • Quando um programa JAVA executa em um computador, é trabalho da JVM traduzir os comandos JAVA em comandos que o computador local possa entender. • Fazer uso das APIs • RAD: desenvolvimento rapido de aplicações ou rapid applications development
  36. 36. Abstração de dados e encapsulamento • Ocultamento de informações: quando classes ocultam detalhes de implementação dos seus clientes. • ABSTRAÇÃO DE DADOS: um cliente de uma classe não precisa se preocupar com a forma com que aquela classe foi implementada. O cliente se preocupa apenas com a funcionalidade que a classe lhe oferece, não com o modo com que essa funcionalidade foi implementada.
  37. 37. Abstração de dados e encapsulamento • ADT: abstract data type ou tipos de dados abstratos • INT: é uma representação abstrata de um número inteiro • ESTOURO ARITMÉTICO: quando um valor muito grande é gerado e não cabe em uma variável do tipo INT, já que esta é limitada em tamanho de bytes
  38. 38. Abstração de dados e encapsulamento • ADT: • Captura uma representação dos dados • Captura as operações que podem ser realizadas nesses dados • O programador java não pode alterar a base da linguagem por conta própria, mas ele pode estender via novos tipos, pode criar tipos por meio de novas classes
  39. 39. Abstração de dados e encapsulamento • Exemplos no netbeans • Pacotes faciliam a reutilização de sotware permitindo que programas importem classes de outros pacotes • Pacotes fornecem uma convenção para nomes de classes, ajudando a evitar conflitos
  40. 40. Acesso de pacote • É quando nenhum modificador de acesso é especificado para um método ou variável quando esse método ou variável é declarado em uma classe • MODIFICADORES DE ACESSO: public, private ou protected • Importante: se um programa utilizar multiplas classe no mesmo pacote, essas classes poderão acessar diretamente os membros de acesso de pacote de outras classes por meio de referências a objetos das classes apropriadas.
  41. 41. Acesso de pacote • Exemplos no netbeans • EXERCÍCIOS

×