Laboratório de Programação II Pacotes Visibilidade Referências a Objetos

9
Laboratório de Programação II Pacotes Visibilidade Referências a Objetos

description

Laboratório de Programação II Pacotes Visibilidade Referências a Objetos. Agrupando Classes em Pacotes Classe • cada arquivo fonte java (. java ) está associado a uma única classe pública : public class Aluno – o arquivo pode conter, adicionalmente, mais de uma classe não - PowerPoint PPT Presentation

Transcript of Laboratório de Programação II Pacotes Visibilidade Referências a Objetos

Page 1: Laboratório  de Programação II Pacotes Visibilidade Referências a Objetos

Laboratório de Programação IIPacotes

VisibilidadeReferências a Objetos

Page 2: Laboratório  de Programação II Pacotes Visibilidade Referências a Objetos

• Agrupando Classes em Pacotes• Classe• • cada arquivo fonte java (<arquivo>.java) está associado a uma única• classe pública : public class Aluno• – o arquivo pode conter, adicionalmente, mais de uma classe não• pública• Pacote• • um pacote é um diretório utilizado para agrupar arquivos de classes• • um pacote é definido no primeiro statement no arquivo da classe• – package controle;• • um pacote também pode ser composto por uma árvore de diretórios• – java.util.Vector : classe Vector pertence ao subdiretório util do• diretório java

Page 3: Laboratório  de Programação II Pacotes Visibilidade Referências a Objetos

• Visibilidade entre Pacotes distintos• Importando Classes de outros Pacotes• • uma classe precisa importar outra classe pública de outro pacote para• poder referenciá-la• – importando a classe Aluno do pacote entidade logo após o• statement que define o pacote controle da classe Principal• • package controle;• • import entidade.Aluno;• – uma classe não precisa importar outra classe pública do mesmo• pacote• • excepcionalmente, as classes públicas do pacote java.lang são visíveis,• por default, para qualquer classe de qualquer pacote• – observe que a classe String que pertence ao pacote java.lang não• precisa ser importada

Page 4: Laboratório  de Programação II Pacotes Visibilidade Referências a Objetos

• Visibilidade de Dados e Métodos• Modificadores de Visibilidade• • o modificador public indica que um dado ou método pode ser visível• para uma classe que importou a classe pública que os define• • o modificador private indica que um dado ou método é visível somente• para os métodos de sua própria classe• • a ausência do modificador de visibilidade indica que um dado ou método• de uma classe é visível para outras classes do mesmo pacote• Visibilidade de Dados• • é aconselhável restringir a visibilidade dos dados aos métodos de sua• própria classe• Visibilidade de Métodos• • métodos que podem ser chamados por classes de outros pacotes• precisam ser públicos• • métodos restritos a métodos da própria classe devem ser privados

Page 5: Laboratório  de Programação II Pacotes Visibilidade Referências a Objetos

• Definindo uma Classe com Atributos e Referências a Objetos• Possíveis Dados para a definição de uma Classe Aluno• • atributos• – idade : utiliza o tipo simples int• – sexo : utiliza o tipo simples boolean• – altura : utiliza o tipo simples float• – nome : exceção que não utiliza um tipo simples• • referencia um objeto da classe genérica String• • referências a objetos• – endereco : referencia um objeto da classe definida para uma• aplicação específica Endereco

Page 6: Laboratório  de Programação II Pacotes Visibilidade Referências a Objetos

Definindo Endereço como Classe

Page 7: Laboratório  de Programação II Pacotes Visibilidade Referências a Objetos

Referenciando Objeto da Classe Endereço na Classe Aluno

Page 8: Laboratório  de Programação II Pacotes Visibilidade Referências a Objetos

Classe Principal importa Classes de outro Pacote

Page 9: Laboratório  de Programação II Pacotes Visibilidade Referências a Objetos

• Exercícios - 3• • 3.1 – Edite um novo programa com as seguintes classes : Ator, Diretor e• Filme. Para a classe Ator defina os seguintes atributos : nome, idade,• n_oscars (número de Oscars conquistados). Para a classe Diretor defina• os atributos : nome, ganhador_Oscar. Para a classe Filme defina o• atributo titulo e as referências : diretor, ator_principal, atriz_principal.• Defina a classe Principal para criar um diretor, um ator, uma atriz e um• filme, e imprimir, em cada linha, a seguinte descrição para o filme: título do• filme, nome do diretor, nome do ator principal, nome da atriz principal.• • 3.2 – Altere o programa do exercício 3.1 da seguinte forma: acrescente a• referência principal_filme à classe Diretor e crie um construtor na classe• Diretor para deixar a inicialização de principal_filme para ser realizada• através do método setPrincipalFilme, referenciando o filme criado• inicialmente. Imprima, adicionalmente, uma descrição para o diretor• contendo em cada linha: nome do diretor, nome do principal filme.