Você está na página 1de 17

CENTRO UNIVERSITRIO DE JOO PESSOA

COORDENAO DE CINCIAS DA COMPUTAO

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

Classe no mesmo pacote

Sim

Sim

No

Subclasse do mesmo pacote

Sim

Sim

No

Subclasse fora do mesmo pacote

Sim

Sim (Hr)

No

No

No

Qualquer classe que no seja subclasse Sim


e esteja fora do pacote

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

Exerccio 1 (15 minutos)


Crie uma classe Conta
atributos (numero e saldo)
mtodos (creditar, debitar, getSaldo,
getNumero)
1 Construtor recebendo como parmetros o
numero e o saldo da conta

Crie uma class Programa que use a classe


Conta
Construtores e sobrecarga

15

Exerccio 2 (15 minutos)


Crie uma classe Curso com codigo e nome
Crie uma classe Aluno, contendo nome, cpf,
idade e o Curso que o aluno frequenta
Lembre-se de criar um construtor, bem como
os mtodos get e set para a classes
Crie uma classe Programa para testar as
classes criadas (essa classe tem o mtodo
main)
Construtores e sobrecarga

16

Exerccio 3 (15 minutos)


Dena dois construtores para a classe Conta
conforme mostrado na aula de hoje

Construtores e sobrecarga

17