Skip to content

Commit 1c397cd

Browse files
committed
Aula métodos construtores
1 parent 3b5f71a commit 1c397cd

File tree

2 files changed

+86
-0
lines changed

2 files changed

+86
-0
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package com.example;
2+
3+
public class AppClasses {
4+
public static void main(String[] args) {
5+
System.out.println("Criando classes");
6+
Cliente cliente = new Cliente(); //A classe Cliente permite criar uma variável composta de vários tipos
7+
cliente.setRenda(10000);
8+
cliente.setSexo('M');
9+
cliente.setAnoNascimento(1980);
10+
System.out.println("Renda: " + cliente.getRenda());
11+
System.out.println("Sexo: " + cliente.getSexo());
12+
System.out.println("Ano de nascimento: " + cliente.getAnoNascimento());
13+
System.out.println("Especial: " + cliente.isEspecial());
14+
System.out.println();
15+
16+
Cliente cliente2 = new Cliente(5000, 'F');
17+
cliente2.setAnoNascimento(1988);
18+
System.out.println("Renda: " + cliente2.getRenda());
19+
System.out.println("Sexo: " + cliente2.getSexo());
20+
System.out.println("Ano de nascimento: " + cliente2.getAnoNascimento());
21+
System.out.println("Especial: " + cliente2.isEspecial());
22+
}
23+
}
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
package com.example;
2+
3+
public class Cliente {
4+
private double renda;
5+
private char sexo;
6+
private boolean especial ;
7+
8+
public boolean isEspecial() {
9+
return especial;
10+
}
11+
public void setEspecial(boolean especial) {
12+
this.especial = especial;
13+
}
14+
15+
public Cliente(){ //Métodos construtores precisam ser chamados public MetodoConstrutor(), se public void Cliente() ele não é chamado
16+
System.out.println("Criando um cliente usando o construtor sem parâmetros");
17+
double aleatorio = Math.random();
18+
if(aleatorio > 0.5)
19+
especial = true;
20+
else
21+
especial = false;
22+
}
23+
24+
public Cliente(double renda, char sexo){ //Métodos construtores precisam ser chamados public MetodoConstrutor(), se public void Cliente() ele não é chamado
25+
this(); //this() deve ser na primeira linha e ele chama o construtor anterior, geralmente menos complexo, para evitar duplicidade de código
26+
System.out.println("Criando um cliente usando o construtor com parâmetros");
27+
setRenda(renda);
28+
this.sexo = sexo;
29+
}
30+
31+
public char getSexo() {
32+
return sexo;
33+
}
34+
35+
public void setSexo(char sexo) {
36+
if(sexo == 'M'|| sexo == 'F')
37+
this.sexo = sexo;
38+
else
39+
System.out.println("O sexo deve ser M ou F.");
40+
}
41+
42+
private int anoNascimento;
43+
44+
public int getAnoNascimento() {
45+
return anoNascimento;
46+
}
47+
48+
public void setAnoNascimento(int anoNascimento) {
49+
this.anoNascimento = anoNascimento;
50+
}
51+
52+
53+
public double getRenda() {
54+
return renda;
55+
}
56+
57+
public void setRenda(double renda){
58+
if(renda>=0)
59+
this.renda = renda; //this relaciona ao objeto atual, no caso cliente e este renda refere-se ao argumento setter e não à classe
60+
else
61+
System.out.println("A renda não pode ser negativa.");
62+
}
63+
}

0 commit comments

Comments
 (0)