Você está na página 1de 20

Programao Orientada a Objeto

Construtores
Stephenson Galvo
stepgalvao[at]gmail[dot]com

Construtores

Inicializao de campos.
class Pessoa{
String nome = Stephenson;
int idade= 25;
void setIdade(int _idade){
idade=_idade;
}
void setNome(String _nome){
nome=_nome;
}
int getIdade(){
return idade;
}
String getNome(){
return nome;
}
}

Construtores

Forma de inicializao

Inicializao de variveis de instncia.

Instncia inicializvel.

Construtores

Inicializao de variveis de instncia

Atribuio de valores na declarao.


class Conta{
private double saldo=200;
void deposito(double valor){
saldo = saldo+valor;
}
void saque(double valor){
saldo = saldo-valor;
}
}

Construtores

Inicializao de
variveis de instncia

Problema

Processamento prvio
no pode ser realizado
antes da inicializao

Anos bissestos

Saldo = 300.

class Conta{
private double saldo=200;
void deposito(double valor){
saldo = saldo+valor;
}
void saque(double valor){
saldo = saldo-valor;
}
}

Construtores

O que ?

Mtodos expeciais chamados automaticamente


quando as instncias so criadadas.

execultado antes de qualquer outro cdigo.

teis para a inicializao de variveis.

Construtores

Exemplo
class Conta{
double saldo;
public Conta(double _saldo){
saldo=_saldo;
}
void deposito(double valor){
saldo = saldo+valor;
}
void saque(double valor){
saldo = saldo-valor;
}
}

Construtores

Regras

Devem possuir o mesmo nome da classe.

No retornam valor, nem void.

Geralmente so public.

Podem possuir parmetros.

Construtores

Exemplo
class Conta{
double saldo;
public Conta(double _saldo){
saldo=_saldo;
}
void deposito(double valor){
saldo = saldo+valor;
}
void saque(double valor){
saldo = saldo-valor;
}
}

Construtores

Exemplo
class Conta{
double saldo;
public IniciarConta(){
saldo=200;
}
void deposito(double valor){
saldo = saldo+valor;
}
void saque(double valor){
saldo = saldo-valor;
}
}

Construtores

Detalhes

Construtores so execultados na criao da


instncia junto com a palavra chave new.

class Conta{
double saldo;
public Conta( ){
saldo=200;
}
...
}

class Aplicacao{
...
Conta c = new Conta( );
...
}

Construtores

Detalhes

Construtores so execultados na criao da


instncia junto com a palavra chave new.

class Conta{
double saldo;
public Conta(double _s ){
saldo=_s;
}
...
}

class Aplicacao{
...
Conta c = new Conta( );
...
}

Construtores

Detalhes

Construtores so execultados na criao da


instncia junto com a palavra chave new.

class Conta{
double saldo;
public Conta(double _s ){
saldo=_s;
}
...
}

class Aplicacao{
...
Conta c = new Conta(200 );
...
}

Construtores

Particularidades

Por padro toda classe tem um construtor default.

Esse construtor no possui argumentos.

class Conta{
double saldo;
void deposito(double valor){
saldo = saldo+valor;
}
void saque(double valor){
saldo = saldo-valor;
}
}

class Aplicacao{
...
Conta c = new Conta( );
...
}

Construtores

Particularidades

Por padro toda classe tem um construtor default.

Esse construtor no possui argumentos.

class Conta{
double saldo;
void deposito(double valor){
saldo = saldo+valor;
}
void saque(double valor){
saldo = saldo-valor;
}
}

class Aplicacao{
...
Conta c = new Conta(200 );
...
}

Construtores

Detalhes

Ao ser declarado um construtor na classe, o default


deixa de existir.

class Conta{
double saldo;
public Conta(double _s ){
saldo=_s;
}
...
}

class Aplicacao{
...
Conta c = new Conta();
...
}

Construtores

Detalhes

Ao ser declarado um construtor na classe, o default


deixa de existir.

class Conta{
double saldo;
public Conta(double _s ){
saldo=_s;
}
...
}

class Aplicacao{
...
Conta c = new Conta(200);
...
}

Construtores

Detalhes

possvel declarar um construtor sem argumentos


semelhante ao default.

class Conta{
double saldo;
public Conta( ){
saldo=200;
}
...
}

class Aplicacao{
...
Conta c = new Conta( );
...
}

Construtores

O construtor padro inicializa os campos dentro


da classe com os valores default.

class Conta{
double saldo;
void deposito(double valor){
saldo = saldo+valor;
}
void saque(double valor){
saldo = saldo-valor;
}
}

class Aplicacao{
...
Conta c = new Conta( );
...
}

Construtores

Exerccio

Escreva um construtor para a classe Lampada de


forma que instncias desta s possam ser criadas se
um estado inicial for passado para o construtor. Este
estado pode ser o valor booleano que indica se a
lmpada est acesa (true) ou apagada (false).
Escreva um construtor para a classe Data que receba
os valores correspondentes ao dia, ms e ano, e
inicialize os campos da classe, verificando antes se a
data vlida.