A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Programação Orientada a Objetos* Pacotes Prof. Isabel Cafezeiro *Baseado no livro Introdução à Programação.

Apresentações semelhantes


Apresentação em tema: "Programação Orientada a Objetos* Pacotes Prof. Isabel Cafezeiro *Baseado no livro Introdução à Programação."— Transcrição da apresentação:

1 Programação Orientada a Objetos* Pacotes Prof. Isabel Cafezeiro *Baseado no livro Introdução à Programação Orientada a Objetos usando JAVA – Rafael Santos – Editora Campus – Série SBC

2 Pacotes zAplicações em java envolvem múltiplas classes Classes com propósito relacionado devem ser agrupadas Classe de aplicação Classes fornecedoras de serviços Pacotes = estrutura de diretório +.java (com a declaração do pacote) +.class + cláusula de importação na classe usuária

3 Pacotes zPacotes e Modificadores de acesso yprivate+ restritivo yprotected yausente (default) ypublic- restritivo

4 Pacotes Um nome declarado com o modificador private: só é acessível na própria classe;... protected: só é acessível na própria classe e subclasses;... ausente (default): só é acessível nas classes do pacote;... public: acesso irrestrito. Classe sem declaração de pacote: pertencem a um pacote padrão. Até o momento vínhamos declarando classes e construtores sem modificadores: visíveis no pacote padrão !!!

5 Pacotes Exemplo: Data, Hora, DataHora serviço data serviço hora combina serviços data e hora Pacote DataHora 1.Criar diretório DataHora (mesmo nome do pacote) contendo todas as classes do pacote 2.O diretório deve ser criado no caminho de procura de classes java 3.Hierarquia em muitos níveis, refletindo o nome do domínio da instituição em ordem reversa: UFF.graduaçãoComputação.POO nome do pacote UFF\graduaçãoComputação\POOdiretório do pacote

6 Pacotes package DataHora; public class Data { byte dia; byte mês; short ano; public Data(byte d,byte m,short a) { dia = d; mês = m; ano = a; } public String toString() { return dia+"/"+mês+"/"+ano; } } // fim da classe Data DataHora/Data.java Declaração do pacote DataHora: Primeira declaração da classe; Colocar a classe Data dentro do diretório DataHora; Public: qq outra classe (do pacote ou não) pode usar esta classe; Construtor Public: caso contrário não seria possível criar instâncias desta classe aplicando o construtor; Campos sem modificador: visíveis em todo pacote.

7 Pacotes package DataHora; public class Hora { byte hora; byte minuto; byte segundo; public Hora(byte h,byte m,byte s) { hora = h; minuto = m; segundo = s; } public String toString() { return hora+":"+minuto+":"+segundo; } } // fim da classe Hora DataHora/Hora.java

8 Pacotes package DataHora; public class DataHora { Data estaData; Hora estaHora; public DataHora(byte h,byte min,byte s,byte d,byte m,short a) { estaData = new Data(d,m,a); estaHora = new Hora(h,min,s); } public String toString() {.... } } // fim da classe DataHora DataHora/DataHora.java Não há conflito: pacote e classe com o mesmo nome. Usa diretamente as classes do pacote.

9 Pacotes import DataHora.*; class DemoDataHora { public static void main(String[] argumentos){ Hora meiodia = new Hora((byte)12,(byte)00,(byte)00); Data hoje = new Data((byte)11,(byte)5,(short)2001); DataHora agora = new DataHora((byte)22,(byte)35,(byte)00, (byte)11,(byte)5,(short)2001); System.out.println(meiodia); System.out.println(hoje); System.out.println(agora);.... } // fim do método main } // fim da classe DemoDataHora DemoDataHora.java Usa o pacote DataHora: não precisa estar no mesmo diretório Importa todas as classes do pacote

10 Pacotes Diretório DataHora, contendo os códigos java: F:\AULAS\POO\aula13\DataHora>dir O volume na unidade F é isabel O número de série do volume é 043F-09CB Pasta de F:\AULAS\POO\aula13\DataHora 20/06/ :28. 20/06/ : /06/ : DataHora.java 19/06/ : Data.java 19/06/ : Hora.java 3 arquivo(s) bytes 2 pasta(s) bytes disponíveis

11 Pacotes A compilação das classes do pacote: F:\AULAS\POO\aula13\DataHora>cd.. F:\AULAS\POO\aula13>javac DataHora\Data.java F:\AULAS\POO\aula13>javac DataHora\Hora.java F:\AULAS\POO\aula13>javac DataHora\DataHora.java F:\AULAS\POO\aula13>

12 Pacotes A compilação da classe usuária do pacote: A execução da classe usuária do pacote: F:\AULAS\POO\aula13>javac DemoDataHora.java F:\AULAS\POO\aula13> F:\AULAS\POO\aula13>java DemoDataHora 12:0:0 11/5/ :35:0 de 11 de Maio de 2001 F:\AULAS\POO\aula13>

13 Pacotes zExercício: 1.Criar pacotes: figuras Geométricas, classes do estacionamento; 2.Colocar aplicações em diretórios diferentes; 3.Testa o uso dos pacotes.


Carregar ppt "Programação Orientada a Objetos* Pacotes Prof. Isabel Cafezeiro *Baseado no livro Introdução à Programação."

Apresentações semelhantes


Anúncios Google