You are on page 1of 14

Construtores

C
i

n
c
i
a

d
a

C
o
m
p
u
t
a

o

Linguagem de Programao
Professoras:
Regiane Marucci (remarucci@anhembi.br)
Simone de Abreu (siabreu@anhembi.br)

Inicializao de Atributos
Uma das formas de atribuio de valores aos
atributos de uma classe feita atravs dos mtodos
set

EX:
//Criando objeto da Classe Pessoa
Pessoa p1 = new Pessoa();

//Atribuio de valores aos Atributos
p1.setNome(Jose);
p1.setAnoNascimento(1985);
p1.setSalario(2000);
Inicializao de Atributos
Desvantagens da abordagem anterior
Grande quantidade de cdigo para inicializao dos
atributos
proporcional a quantidade de atributos
Alguns atributos podem exigir alocao de memria
esta funo no responsabilidade dos mtodos set e
tampouco do programa principal

Soluo
A classe deve prover mecanismos para inicializar
seus atributos
O ideal que isto seja feito no momento de criao
dos objetos
Facilita a inicializao dos objetos quando os valores
de seus atributos so conhecidos antecipadamente
Os mtodos set devem ser usados apenas para
alterar os valores iniciais dos atributos
Construtores
So mtodos especiais utilizados para inicializao
dos atributos de um objeto no momento da criao
do objeto
Como todos os demais mtodos os construtores
podem ter ou no parmetros
O nome deste mtodo especial deve ser o mesmo
da classe
Construtores NO possuem valor de retorno
public nomeConstrutor (tipo parametro1, ..., tipo parametro N)
{

// instrues de inicializao
atributo1 = parametro1;
atributo2 = parametro2;
atributo3 = parametro3;

if(parametro4 > 0)
atributo4 = parametro4;
...
atributoN = parametroN;

}


Construtor - Sintaxe
opcional
nomeConstrutor deve ser o
mesmo da classe
NO retorna um valor
Exemplo
public class Pessoa
{
private String nome;
private char sexo;
private float altura;
private int anoNascimento;

public Pessoa(String valorNome, char valorSexo, float valorAltura, int
valorAnoNascimento)
{
setNome(valorNome);
setSexo(valorSexo);
setAltura(valorAltura);
setAnoNascimento(valorAnoNascimento);
}

Exemplo
public void setNome(String valorNome)
{
nome = valorNome;
}

public String getNome()
{
return(nome);
}

public void setSexo(char valorSexo)
{
sexo = valorSexo;
}

public char getSexo()
{
return (sexo);
}

Exemplo
public void setAltura(float valorAltura)
{
altura = valorAltura;
}

public float getAltura()
{
return (altura);
}

public void setAnoNascimento(int valorAnoNascimento)
{
anoNascimento = valorAnoNascimento;
}

public int getAnoNascimento()
{
return (anoNascimento);
}
}
Exemplo
public class Programa {
public static void main(String[] args){
// Criando objeto da Classe pessoa com o Construtor
Pessoa p1 = new Pessoa("Jose", m, 1.8f, 1960);

System.out.println("## Dados do Objeto criado com o
Construtor ##");
System.out.println("Nome = " + p1.getNome() );
System.out.println("Sexo = " + p1.getSexo() );
System.out.println("Ano Nascimento= " +
p1.getAnoNascimento());
System.out.println("Altura= " + p1.getAltura());
}
}
Exerccio 01
(01) A empresa Organizaes Tabajaras precisa de um sistema em Java que faa
o controle da folha de pagamento de seus funcionrios. Sabe-se que um
funcionrio identificado por um nome, departamento onde trabalha, seu salrio
bruto, o ano de entrada na empresa, seu RG, um valor que indique se o funcionrio
ainda est trabalhando na empresa ou se j foi embora e quantos dependentes o
Funcionrio possui.
As funcionalidades (mtodos) desejadas para este sistema so:
clculo do salrio lquido do funcionrio (recebe R$ 20,00 por
dependente e descontado um imposto de 3% para funcionrios que
ganham at R$ 1000,00 e 5% acima deste valor);
O clculo do tempo de servio do funcionrio na empresa com base na
data de entrada na empresa e ano atual;
o clculo de aumento de salrio (com base no salrio bruto) realizado de
acordo com os seguintes dados:
tempoServio menor que 5 anos o percentual equivale a 5%
tempoServio maior que 5 anos o percentual equivale a 8%
Utilize os conceitos de OO aprendidos at o momento para implementar a
descrio acima.
Exerccio 02
(02) A empresa Area ltima Viagem contratou voc
para desenvolver um programa em JAVA que faa o
registro dos vos da empresa. Como se trata de uma
empresa pequena esta possui somente dois vos
dirios que so definidos na manh do mesmo dia
pelos operadores. Tambm devido a problemas de
fluxo de caixa a empresa no possui avies prprios e
os aluga conforme a demanda.
Exerccio 02
Assim para cada vo a empresa registra as seguintes informaes
a) nmero de voo
b) origem
c) destino
d) qtd assentos no avio
e) qtd de lugares disponveis
O sistema deve fazer o registro destas informaes para cada um
dos dois vos. Alm disto o sistema deve fazer as reservas de
lugares no vo.
Utilize os conceitos de OO aprendidos at o momento
para implementar a descrio acima.
Exerccio 02
A reserva segue as seguintes regras:
a) O passageiro no pode escolher um lugar. Ele deve
ficar com o primeiro lugar livre identificado pelo
sistema
b) Para cada assento a reserva feita associando o RG
do passageiro com o nmero do assento.

You might also like