programa o orientada a objetos
Download
Skip this Video
Download Presentation
Programação Orientada a Objetos*

Loading in 2 Seconds...

play fullscreen
1 / 13

Programação Orientada a Objetos* - PowerPoint PPT Presentation


  • 77 Views
  • Uploaded on

Programação Orientada a Objetos*. Pacotes Prof. Isabel Cafezeiro [email protected] http://www.dcc.ic.uff.br/~isabel *Baseado no livro Introdução à Programação Orientada a Objetos usando JAVA – Rafael Santos – Editora Campus – Série SBC. Pacotes.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Programação Orientada a Objetos*' - randy


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
programa o orientada a objetos

ProgramaçãoOrientada a Objetos*

Pacotes

Prof. Isabel Cafezeiro

[email protected]

http://www.dcc.ic.uff.br/~isabel

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

pacotes
Pacotes
  • Aplicações em java envolvem múltiplas classes

Classes fornecedoras de serviços

Classe de aplicação

Classes com propósito relacionado devem ser agrupadas

Pacotes = estrutura de diretório +

.java (com a declaração do pacote) +

.class +

cláusula de importação na classe usuária

pacotes1
Pacotes
  • Pacotes e Modificadores de acesso
    • private + restritivo
    • protected
    • ausente(default)
    • public - restritivo
pacotes2
Pacotes

Um nome declarado com o modificador ...

... private: só é acessível na própria classe;

... protected: só é acessível na própria classee 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 !!!

pacotes3
Pacotes

Exemplo: Data, Hora, DataHora

serviço data serviço hora combina serviços data e hora

Pacote DataHora

  • Criar diretório DataHora (mesmo nome do pacote) contendo todas as classes do pacote
  • O diretório deve ser criado no caminho de procura de classes java
  • 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\POO diretório do pacote

pacotes4
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.

pacotes5
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

pacotes6
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.

pacotes7
Pacotes

Usa o pacote DataHora: não precisa estar no mesmo diretório

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

Importa todas as classes do pacote

pacotes8
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/2006 15:28 <DIR> .

20/06/2006 15:26 <DIR> ..

19/06/2006 16:25 2.815 DataHora.java

19/06/2006 16:18 1.339 Data.java

19/06/2006 16:25 1.377 Hora.java

3 arquivo(s) 5.531 bytes

2 pasta(s) 10.900.996.096 bytes disponíveis

pacotes9
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>

pacotes10
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/2001

22:35:0 de 11 de Maio de 2001

F:\AULAS\POO\aula13>

pacotes11
Pacotes
  • Exercício:
  • Criar pacotes: figuras Geométricas, classes do estacionamento;
  • Colocar aplicações em diretórios diferentes;
  • Testa o uso dos pacotes.
ad