7/23/2019 POO Java Construtores http://slidepdf.com/reader/full/poo-java-construtores 1/20 Programação Orientada a Objeto Construtores Stephenson Galvão stepgalvao[at]gmail[dot]com
7/23/2019 POO Java Construtores
http://slidepdf.com/reader/full/poo-java-construtores 1/20
Programação Orientada a Objeto
Construtores
Stephenson Galvãostepgalvao[at]gmail[dot]com
7/23/2019 POO Java Construtores
http://slidepdf.com/reader/full/poo-java-construtores 2/20
Construtores
● Inicialização de campos
class Pessoa{String nome = “Stephenson”;int idade= 25;
void setIdade(int _idade){idade=_idade;
}void setome(String _nome){
nome=_nome;}
int getIdade(){ret!rn idade;}String getome(){
ret!rn nome;}
}
7/23/2019 POO Java Construtores
http://slidepdf.com/reader/full/poo-java-construtores 3/20
Construtores
● !orma de inicialização● Inicialização de vari"veis de inst#ncia● Inst#ncia inicializ"vel
7/23/2019 POO Java Construtores
http://slidepdf.com/reader/full/poo-java-construtores 4/20
Construtores
● Inicialização de vari"veis de inst#ncia● $tribuição de valores na declaração
class "onta{
private do!#le saldo=2$$;
void deposito(do!#le valor){saldo = saldo%valor;
}void sa&!e(do!#le valor){
saldo = saldo'valor;}
}
7/23/2019 POO Java Construtores
http://slidepdf.com/reader/full/poo-java-construtores 5/20
Construtores
class "onta{
private do!#le saldo=2$$;
void deposito(do!#le valor){saldo = saldo%valor;
}void sa&!e(do!#le valor){
saldo = saldo'valor;
}
}
● Inicialização devari"veis de inst#ncia● Problema
– Processamento pr%vionão pode ser realizadoantes da inicialização
● $nos bissestos–
Saldo & '((
7/23/2019 POO Java Construtores
http://slidepdf.com/reader/full/poo-java-construtores 6/20
Construtores
● O )ue %*● +%todos e,peciais chamados automaticamente
)uando as inst#ncias são criadadas
●
- e,ecultado antes de )ual)uer outro c.digo● /teis para a inicialização de vari"veis
7/23/2019 POO Java Construtores
http://slidepdf.com/reader/full/poo-java-construtores 7/20
Construtores
● 0,emplo
class "onta{
do!#le saldo;p!#lic "onta(do!#le _saldo){
saldo=_saldo;}void deposito(do!#le valor){
saldo = saldo%valor;}void sa&!e(do!#le valor){
saldo = saldo'valor;}
}
7/23/2019 POO Java Construtores
http://slidepdf.com/reader/full/poo-java-construtores 8/20
Construtores
● 1egras● 2evem possuir o mesmo nome da classe● 3ão retornam valor4 nem void● Geralmente são public.● Podem possuir par#metros
7/23/2019 POO Java Construtores
http://slidepdf.com/reader/full/poo-java-construtores 9/20
Construtores
● 0,emplo
class "onta{
do!#le saldo;p!#lic "onta(do!#le _saldo){
saldo=_saldo;}void deposito(do!#le valor){
saldo = saldo%valor;}void sa&!e(do!#le valor){
saldo = saldo'valor;}
}
7/23/2019 POO Java Construtores
http://slidepdf.com/reader/full/poo-java-construtores 10/20
Construtores
● 0,emplo
class "onta{
do!#le saldo;p!#lic Iniciar"onta(){
saldo=2$$;}void deposito(do!#le valor){
saldo = saldo%valor;}void sa&!e(do!#le valor){
saldo = saldo'valor;}
}
7/23/2019 POO Java Construtores
http://slidepdf.com/reader/full/poo-java-construtores 11/20
Construtores
● 2etalhes● Construtores são e,ecultados na criação da
inst#ncia junto com a palavra chave new.
class "onta{
do!#le saldo; p!#lic "onta( ){
saldo=2$$; }
}
class plicacao{
"onta c = ne* "onta( );}
7/23/2019 POO Java Construtores
http://slidepdf.com/reader/full/poo-java-construtores 12/20
Construtores
● 2etalhes● Construtores são e,ecultados na criação da
inst#ncia junto com a palavra chave new.
class "onta{
do!#le saldo; p!#lic "onta(do!#le _s ){
saldo=_s; }
}
class plicacao{
"onta c = ne* "onta( );}
7/23/2019 POO Java Construtores
http://slidepdf.com/reader/full/poo-java-construtores 13/20
Construtores
● 2etalhes● Construtores são e,ecultados na criação da
inst#ncia junto com a palavra chave new.
class "onta{
do!#le saldo; p!#lic "onta(do!#le _s ){
saldo=_s; }
}
class plicacao{
"onta c = ne* "onta(2$$ );}
7/23/2019 POO Java Construtores
http://slidepdf.com/reader/full/poo-java-construtores 14/20
Construtores
● Particularidades● Por padrão toda classe tem um construtor default.
– 0sse construtor não possui argumentos
class "onta{
do!#le saldo;
void deposito(do!#le valor){
saldo = saldo%valor;}void sa&!e(do!#le valor){
saldo = saldo'valor;}
}
class plicacao{
"onta c = ne* "onta( );
}
7/23/2019 POO Java Construtores
http://slidepdf.com/reader/full/poo-java-construtores 15/20
Construtores
● Particularidades● Por padrão toda classe tem um construtor default.
– 0sse construtor não possui argumentos
class "onta{
do!#le saldo;
void deposito(do!#le valor){
saldo = saldo%valor;}void sa&!e(do!#le valor){
saldo = saldo'valor;}
}
class plicacao{
"onta c = ne* "onta(2$$ );
}
7/23/2019 POO Java Construtores
http://slidepdf.com/reader/full/poo-java-construtores 16/20
Construtores
● 2etalhes● $o ser declarado um construtor na classe4 o default
dei,a de e,istir
class "onta{
do!#le saldo; p!#lic "onta(do!#le _s ){
saldo=_s; }
}
class plicacao{
"onta c = ne* "onta();}
7/23/2019 POO Java Construtores
http://slidepdf.com/reader/full/poo-java-construtores 17/20
Construtores
● 2etalhes● $o ser declarado um construtor na classe4 o default
dei,a de e,istir
class "onta{
do!#le saldo; p!#lic "onta(do!#le _s ){
saldo=_s; }
}
class plicacao{
"onta c = ne* "onta(2$$);}
7/23/2019 POO Java Construtores
http://slidepdf.com/reader/full/poo-java-construtores 18/20
Construtores
● 2etalhes● - poss5vel declarar um construtor sem argumentos
semelhante ao default.
class "onta{
do!#le saldo; p!#lic "onta( ){
saldo=2$$; }
}
class plicacao{
"onta c = ne* "onta( );}
7/23/2019 POO Java Construtores
http://slidepdf.com/reader/full/poo-java-construtores 19/20
Construtores
● O construtor padrão inicializa os campos dentroda classe com os valores default.
class "onta{
do!#le saldo;
void deposito(do!#le valor){
saldo = saldo%valor;}void sa&!e(do!#le valor){
saldo = saldo'valor;}
}
class plicacao{
"onta c = ne* "onta( );
}
7/23/2019 POO Java Construtores
http://slidepdf.com/reader/full/poo-java-construtores 20/20
Construtores
● 0,erc5cio● 0screva um construtor para a classe 6ampada de
7orma )ue inst#ncias desta s. possam ser criadas seum estado inicial 7or passado para o construtor 0ste
estado pode ser o valor booleano )ue indica se al#mpada est" acesa 8true9 ou apagada 87alse9
● 0screva um construtor para a classe 2ata )ue recebaos valores correspondentes ao dia4 m:s e ano4 e
inicialize os campos da classe4 veri7icando antes se adata % v"lida