90 likes | 213 Views
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
E N D
Laboratório de Programação IIPacotesVisibilidadeReferências a Objetos
Agrupando Classes em Pacotes • Classe • • cada arquivo fonte java (<arquivo>.java) está associado a uma única • classe pública : publicclass 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
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
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
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
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.