Escolar Documentos
Profissional Documentos
Cultura Documentos
Construtores,
Encapsulamento
e
Sobrecarga
Jefferson Ferreira Barbosa
jeffersonjpa@gmail.com
Joo Pessoa
2014
At
aqui...
Fundamentos
da
Linguagem
Java
Princpios
da
Orientao
a
Objetos
Denies
da
Linguagem
Hoje:
Construtores,
Encapsulamento
e
Sobrecarga
Construtores e sobrecarga
Construtores
Construtores
so
procedimentos
realizados
na
construo
de
objetos
Parecem
mtodos,
mas
no
tm
Lpo
de
retorno
e
tm
nome
idnLco
ao
nome
da
classe
Para
cada
objeto,
o
construtor
chamado
exatamente
uma
vez:
na
sua
criao
Exemplo
Pessoa
joao
=
new
Pessoa();
Por
que
implementamos
classes
sem
construtor?
Construtores
nem
sempre
aparecem
explcitos
em
uma
classe:
podem
ser
omiLdos
Alguns
podem
requerer
parmetros
Pessoa
joao
=
new
Pessoa(52,
Joo");
Construtores
e
sobrecarga
Construtores
<modificador> <nome da classe> (<lista de
parametros>) {
<corpo do construtor>
}
Construtores e sobrecarga
Quando
usar?
Deve-se
usar
os
construtores
quando
deseja-se
atribuir
valores
aos
atributos
de
um
objeto
no
momento
de
sua
criao.
Dar
possibilidades
ou
obrigar
o
usurio
de
uma
classe
a
passar
argumentos
para
o
objeto
durante
o
processo
de
criao
do
mesmo.
Construtores e sobrecarga
Exemplo
public class Computador {
protected String proc;
protected String mem;
public Computador(String proc, String mem){
this.proc = proc;
this.mem = mem;
}
}
public class Principal {
String proc;
String mem;
public static void main(String [] args)
Computador comp = new Computador(Core Duo, 4 GB DDR)
}
}
Construtores e sobrecarga
Construtor
Padro
Ao
criar
uma
classe,
esta
j
possui
um
construtor
padro
(default),
que
no
possui
argumentos,
porm
ao
denir
um
novo
construtor
este
passar
a
no
exisLr
mais.
Construtores e sobrecarga
Sobrecarga
Ento,
posso
ter
mais
de
um
construtor?
Sim,
e
este
procedimento
chamado
de
sobrecarga.
Uma
classe
tambm
pode
ter
vrios
mtodos
com
o
mesmo
nome
(sobrecarga
de
nomes
de
mtodos)
DisLno
feita
pela
assinatura:
Lpo
e
nmero
de
argumentos,
assim
como
construtores
Apesar
de
fazer
parte
da
assinatura,
o
>po
de
retorno
no
pode
ser
usado
para
dis>nguir
mtodos
sobrecarregados
Construtores
e
sobrecarga
Sobrecarga
Na
chamada
de
um
mtodo,
seus
parmetros
so
passados
da
mesma
forma
que
em
uma
atribuio
Valores
so
passados
em
Lpos
primiLvos
Referncias
so
passadas
em
objetos
Construtores e sobrecarga
Exemplo
Mtodos
sobrecarregados
devem
ser
diferentes
o
suciente
para
evitar
ambiguidade
na
chamada.
Muda-se
a
quanLdade
ou
os
Lpos
dos
argumentos.
Exemplo
int metodo (long x, int y, long z) {...}
int metodo (int x, long y) {...}
int metodo (String x, long y) {...}
Chamada
int z = metodo (5, 6);
int z = metodo (5, 6, 8);
int z = metodo (teste, 6);
Construtores
e
sobrecarga
10
Encapsulamento
Simplica
o
objeto
expondo
apenas
a
sua
interface
essencial
No
permiLdo
o
acesso
interior
de
varivel
pertencentes
a
uma
classe
Um
aluno
no
pode
ter
acesso
e
modicar
suas
notas
na
disciplinas
Construtores e sobrecarga
11
Encapsulamento
Mtodos
que
no
devem
ser
usados
externamente
e
atributos
podem
ter
seu
nvel
de
acesso
controlado
em
Java
atravs
de
modicadores
de
acesso
Modicadores
de
acesso
private:
apenas
acesso
dentro
da
classe
protected:
dentro
do
pacote
e
em
subclasses
public:
acesso
global
Construtores e sobrecarga
12
Resumo
Visibilidade
public
protected
private
Mesma classe
Sim
Sim
Sim
Sim
Sim
No
Sim
Sim
No
Sim
Sim (Hr)
No
No
No
Construtores e sobrecarga
13
MlLplos
Construtores
Objetos
da
classe
Conta
podem
ser
inicializados
de
duas
formas:
public
class
Aluno
{
private
String
matricula;
private
String
nome;
private
int
idade;
private
int
serie;
public
Aluno(String
matricula,
String
nome,
int
idade,
int
serie)
{
this.matricula
=
matricula;
this.nome
=
nome;
this.idade
=
idade;
this.serie
=
serie;
}
public
Aluno(String
matricula,
String
nome,
int
idade)
{
this(matricula,nome,
idade,
1);
}
Construtores
e
sobrecarga
}
14
15
16
Construtores e sobrecarga
17