Buscar

Aula 4 Programação Orientada Objeto

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 3 páginas

Prévia do material em texto

Programação Orientada a Objetos. 
 
1 
Prof.Fábio Rener 
 
Modificadores de acesso e 
Construtores. 
 
Construtores 
 
O método construtor determina que ações devem ser executadas quando da criação 
de um objeto. Em Java, o construtor é definido como um método cujo nome deve ser o 
mesmo nome da classe e sem indicação do tipo de retorno -- nem mesmo void. O 
construtor é unicamente invocado no momento da criação do objeto através do 
operador new. 
 
O retorno do operador new é uma referência para o objeto recém-criado. O construtor 
pode receber argumentos, como qualquer método. Usando o mecanismo de 
sobrecarga, mais de um construtor pode ser definido para uma classe. 
 
Toda classe tem pelo menos um construtor sempre definido. Se nenhum construtor for 
explicitamente definido pelo programador da classe, um construtor padrão, que não 
recebe argumentos, é incluído para a classe pelo compilador Java. No entanto, se o 
programador da classe criar pelo menos um método construtor, o construtor padrão 
não será criado automaticamente -- se o programador desejar mantê-lo, deverá criar 
um construtor sem argumentos explicitamente. 
 
No momento em que um construtor é invocado, a seguinte seqüência de ações é 
executada para a criação de um objeto: 
 
1. O espaço para o objeto é alocado e seu conteúdo é inicializado (bitwise) com 
zeros. 
2. O construtor da classe base é invocado. Se a classe não tem uma superclasse 
definida explicitamente, a classe Object é a classe base. 
3. Os membros da classe são inicializados para o objeto, seguindo a ordem em 
que foram declarados na classe. 
4. O restante do corpo do construtor é executado. 
 
Seguir essa seqüência é uma necessidade de forma a garantir que, quando o corpo de 
um construtor esteja sendo executado, o objeto já terá à disposição as funcionalidades 
mínimas necessárias, quais sejam aquelas definidas por seus ancestrais. O primeiro 
passo garante que nenhum campo do objeto terá um valor arbitrário, que possa tornar 
erros de não inicialização difíceis de detectar. 
 
Exemplo: 
 
class Pessoa{ 
 
 String nome; 
String rg; 
Date dtNascimento; 
 
public Pessoa(){} 
 
Programação Orientada a Objetos. 
 
2 
Prof.Fábio Rener 
public Pessoa(String n, String doc,Date dt){ 
 nome = n; 
 rg = doc; 
 dtNascimento = dt; 
} 
} 
 
 
Modificadores de Acesso 
 
Modificadores de acesso – são responsáveis pela visibilidade de nossas classes, 
métodos e atributos. 
 
 public class Pessoa{ 
 // modificadores privados para implementação do encapsulamento 
 private String nome; 
private String rg; 
private String sexo; 
private Date dtNascimento; 
 
//construtor padrão 
public Pessoa(){} 
 
//construtor usado para inicialização das variáveis 
public Pessoa(String n, String doc,String s,Date dt){ 
 nome = n; 
 rg = doc; 
 sexo =s; 
 dtNascimento = dt; 
} 
 
//método de encapsulamento do atributo/variável nome 
public void setNome(String n){ 
 if(n.length() > 60){ 
nome = n.substring(0,60); 
 }else{ 
 Nome= n; 
 } 
} 
//método de retorno do valor do atributo/variável nome 
public String getNome(){ 
 return nome; 
} 
 
//outros métodos get e sets para o encapsulamento das variaveis 
 
 } 
 
 
Membros final – Métodos com modificador final não pode ser sobrescritos e atributos 
com modificador final não podem sofrer alteração e geralmente são usamos para 
constantes que iremos utilizar em nosso sistema. 
 
Programação Orientada a Objetos. 
 
3 
Prof.Fábio Rener 
Membros estáticos – Métodos com modificador static podem ser acessados sem a 
necessidade de instanciar a classe para utilização, o mesmo podemos dizer sobre 
atributos com o modificador static. 
 
 
 
Modificadores de Classe 
 
Modificador Classe Classe Interna (InnerClass) 
public Pode ser instanciada e utilizada 
livremente 
Pode ser instanciada e utilizada 
livremente 
protected (Não Aplicável) Pode ser utilizada apenas no 
mesmo package ou em 
subclasses da classe 
(sem modificador) Pode ser utilizada e instanciada 
apenas no mesmo package 
Pode ser utilizada e instanciada 
apenas no mesmo package. 
private (Não Aplicável) Pode ser utilizada apenas na 
classe externa 
abstract Não pode ser instanciada Não pode ser instanciada 
final Não permite definição de 
subclasse 
Não permite definição de 
subclasse 
 
Modificadores de Métodos 
 
Modificador Descrição 
public Pode ser invocado livremente 
protected Só pode ser invocado no mesmo package e em 
subclasses 
(sem modificador) Só pode ser invocado no mesmo package. 
private Só pode ser utilizado na mesma classe. 
abstract O método não pode ter implementação(código). Estes 
métodos deverão ser sobrescritos por subclasses. 
static Pode ser invocado sem precisar criar uma instância da 
classe. 
final Não pode ser sobrescrito. 
 
 
Modificadores de Atributos 
 
Modificador Descrição 
public Pode ser utilizado livremente 
protected Só pode ser utilizado no mesmo package ou em subclasses 
(sem modificador) Só pode ser utilizado no mesmo package. 
private Só pode ser utilizado na mesma classe 
static Pode ser utilizado sem precisar criar uma instância da 
classe. 
final É uma constante.

Outros materiais