Buscar

Aula 4 Modificadores de Acesso

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 19 páginas

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 6, do total de 19 páginas

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 9, do total de 19 páginas

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

Prévia do material em texto

Modificadores de Acesso
Prof. Ramon Pontes
Modificadores de Acesso
• O modo como você declara suas classes, métodos e variáveis 
afeta drasticamente o comportamento do seu código.
• Por exemplo, um método public pode ser acessado a partir de 
um código que esteja rodando em qualquer parte da sua 
aplicação. No entanto se você marcar esse método como 
private ele desaparecerá de todos os radares, exceto o da 
classe em que foi declarado.
2
Modificadores de Acesso
• Public – Acesso a qualquer classe em qualquer 
pacote.
• Sem modificador(default) – Acesso a 
qualquer classe do mesmo pacote.
• Protected – Acesso a qualquer classe do 
mesmo pacote e a sub-classes de outros 
pacotes.
• Private – Sem acesso fora da classe.
3
Modificadores de Acesso
Classe1
int a;
public int b;
protected int c;
private int e;
Classe2 SubClasse1
Package1 Package2Package3
Classe1
int a;
public int b;
protected int c;
private int e;
Classe2 SubClasse1
Package1
4
Modificadores de Acesso
• O que significa o fato do código de uma classe 
ter acesso a outra classe ?
• É possível criar uma instância dessa Classe
• Estender essa classe (Tornar-se uma sub-
classe)
• Acessar métodos e variáveis dessa classe 
(Dependendo do controle de acesso desse 
métodos e variáveis).
5
Formas para acesso a classe
• Existem 3 formas para acesso a métodos:
– (D) Invocando método declarado na mesma classe
– (R) Invocando um método usando uma referência 
da classe
– (I) Invocando um método herdado.
6
SportCar
goFast(){}
doStuff(){}
D
Notação
Convertible
doThings(){
SportCar sc = new SportCar(); R
sc.goFast();
}
doMore(){ I
goFast();
}
Driver
doDriveStuff(){
SportCar car = new SportCar();
car.goFast();
Convertible con = new
Convertible();
Com.goFast();
}
7
Modificadores de Acesso
• Public
– Quando um método ou variável é declarado como 
public, isso significa que todas as outras classes, 
independente do pacote ao qual pertençam, pode 
acessar o membro em questão.
8
Modificadores de Acesso
• Public
É possível????
9
Modificadores de Acesso
• Private
– Membros marcados como private não podem ser 
acessados por código em nenhuma outra classe 
que não seja aquela na qual o membro foi 
declarado.
10
Modificadores de Acesso
• Private
11
Modificadores de Acesso
• Private
– E se uma subclasse tentasse herdar um membro 
private da sua superclasse????
• Resposta: NÃO, quando um membro é declarado 
privado nem mesmo subclasses podem herdar dele.
12
SportCar
goFast(){}
doStuff(){}
D
Notação
Convertible
doThings(){
SportCar sc = new SportCar(); R
sc.goFast();
}
doMore(){ I
goFast();
}
Driver
doDriveStuff(){
SportCar car = new SportCar();
car.goFast();
Convertible con = new
Convertible();
Com.goFast();
}
Os Métodos agora são 
Privados
13
Modificadores de Acesso
• Default 
– Só pode ser acessado se a classe que o estiver 
acessando pertencer ao mesmo pacote.
14
Modificadores de Acesso
• Default
Esse código 
compila ?
15
Modificadores de Acesso
• Protected
– Pode ser acessado se a classe que estiver 
acessando pertencer ao mesmo pacote ou for 
subclasse de um outro pacote.
16
Modificadores de Acesso
• Protected
17
Modificadores de Acesso
• Uma curiosidade 
Nunca acesse um método protected utilizando 
uma referência .
Erro de 
compilação
18
Revisão
19

Outros materiais