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

578 views
409 views

Published on

JAVA - Pacotes

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
578
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
17
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

×