Baixe o app para aproveitar ainda mais
Prévia do material em texto
Programação Orientada a Objetos PACOTES Organização do Java Programação Orientada a Objetos Pacotes ● À medida que aumenta o número de classes, aumenta a chance de coincidência de nomes; ● Precisamos separar as classes em espaços de nomes; ● Java possui o conceito de pacotes: – Espaço de nome para evitar conflitos; – Agrupamento de classes semelhantes; – Maneira de construir bibliotecas de classes; – Estabelecimento de políticas de acesso às classes Programação Orientada a Objetos Pacotes ● Os pacotes estão diretamente relacionados aos diretórios ● Um pacote indica em que diretório a Classe está armazenada ● O nome de um pacote é sempre em minúsculo (Java Code Conventions) package meupacote; Programação Orientada a Objetos Pacotes ● Declaração do pacote: – Primeira linha não comentada da classe package meupacote; public class MinhaClasse { // implementação } Programação Orientada a Objetos Pacotes ● Para usar Classes de outros pacotes, é preciso importá-las: package novopacote; import meupacote.MinhaClasse; public class NovaClasse { MinhaClasse mc = new MinhaClasse(); } Programação Orientada a Objetos Pacotes ● Formas de importar: – Importando uma única Classe de um pacote ● import meupacote.MinhaClasse; – Importando todas as Classes de um pacote ● import meupacote.* – Usando o nome completo da Classe ● meupacote.MinhaClasse mc; Programação Orientada a Objetos Pacotes ● Para não haver conflito com ninguém, sugere-se usar seu domínio na Internet ao contrário: http://ufg.inf.br br.inf.ufg.meupacote Programação Orientada a Objetos Pacotes ● Maioria das JVMs utiliza pastas no sistema de arquivos do SO: br.inf.ufg.meupacote.MinhaClassebr inf ufg meupacote MinhaClasse.java package br.inf.ufg.meupacote; public class MinhaClasse { // implementação } MinhaClasse.class Programação Orientada a Objetos Pacotes ● Modificadores de Acesso – public : todos podem acessar independente do pacote; – protected : pode ser acessado por todas as classes do mesmo pacote e pelas que estendam(herança) – package ou default: só podem ser acessados por classes do mesmo pacote – private : só pode ser acessado pela própria classe Programação Orientada a Objetos Pacotes Java possui vários pacotes com outros pacotes internos e várias classes já prontas para serem utilizadas. Programação Orientada a Objetos Pacotes ● No java podemos determinar dois grandes pacotes: – O pacote java que possui as classes padrões para o funcionamento do programa – núcleo do java – O pacote javax que fornece pacotes de extensão para as implementações do pacote java Programação Orientada a Objetos Pacotes ● Pacotes básicos do Java: ● java.lang : classes fundamentais - importado automaticamente (Integer, Double, Byte, Math, String, System, Exception, Thread, etc) ● java.util: classes utilitárias (Date, Array, Collection, List, Currency, Formatter, Random, Vector..) ● java.io: classes para entrada e saída (FileReader, FileWriter, InputStream, OutputStream, ..) ● java.net: classes para uso em rede (TCP/IP) ● java.sql: classes para acesso a banco de dados via JDBC ● java.awt: interface gráfica universal nativa ● java.text: internacionalização, transformação e formatação de texto ● ... Programação Orientada a Objetos Pacotes ● Outros pacotes do Java: ● javax.swing : fornece componentes para interface gráfica ● javax.print: classes para serviço de impressão ● javax.net: classes para uso em rede (complementa a java.net) ● javax.sql: classes para acesso via JDBC (complementa a java.sql) ● javax.crypto: classes para serviços de criptografia ● ... Programação Orientada a Objetos Pacotes ● Exemplo: – Pacote java.awt (Abstract Windowing Toolkit) possui classes necessárias para criar um ambiente gráfico API ligado fortemente a funções nativas do Sistema Operacional. – Pacote javax.swing não é ligado à funções nativas do SO, trabalha de forma independente, com mais autonomia. Ele complementa o java.awt, logo é do javax. Programação Orientada a Objetos Pacotes ● As classes do pacote java.lang são importadas automaticamente; ● Não é necessário: – import java.lang.String; – import java.lang.Math; – import java.lang.*; Programação Orientada a Objetos Pacotes ● É possível importar membros estáticos de uma classe (java 5) – Antes: /* ... */ r = Math.exp(x) + Math.log(y) – Math.sqrt(Math.pow(Math.PI, y)); – Depois: import static java.lang.Math.*; r = exp(x) + log(y) – sqrt(pow(PI, y)); Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16
Compartilhar