Anda di halaman 1dari 11

Programao

Orientada a
Objetos
Programao Orientada a Objeto
Estudando mais um pouco de mtodos:
class TestaReferencias {
public static void main(String args[]) {
Conta c1 = new Conta();
c1.deposita(100);

Conta c2 = c1; // linha importante!


c2.deposita(200);

System.out.println(c1.saldo);
System.out.println(c2.saldo);
}
}

Qual o valor do saldo nas contas?


Programao Orientada a Objeto

Na memria:

Conta c1 = new Conta();


Conta c2 = c1;
Programao Orientada a Objeto
Um mtodo para transferir valores entre contas

class Conta {
// atributos e mtodos...

void transfere(Conta destino, double valor) {


this.saldo = this.saldo - valor;
destino.saldo = destino.saldo + valor;

}
}
Programao Orientada a Objeto
Atributos com valores default
ou
atributos populados

class Conta {
int numero = 1234;
String dono = "Duke";
String cpf = "123.456.789-10";
double saldo = 1000;
double limite = 1000;
}
Programao Orientada a
Objeto
Composio
Atributos referenciando
classes
class Cliente{
String nome;
String sobrenome;
String cpf;
}

class Conta{
int numero;
double saldo;
double limite;
Cliente titular
}
Programao Orientada a Objeto
Testando a classe
class TesteDaClasse {
public static void main(String[] args){
Conta minhaConta = new Conta();
Cliente c = new Cliente();
minhaConta.titular = c;

}
}

Se pode usar assim:


Cliente clienteDaMinhaConta = minhaConta.titular;
clienteDaMinhaConta.nome = Maria";

Mais assim mais bacana:


minhaConta.titular.nome = Maria";
Programao Orientada a Objeto
E se isso fosse feito:
class Teste {
public static void main(String[]
args) {
Conta minhaConta = new Conta();

minhaConta.titular.nome =
"Mario";
// ...
}
}

Valores default:
0 para nmeros
false para Booleanos
null para referncias
Programao Orientada a Objeto

Pode ser feito assim:

class Conta {
int numero;
double saldo;
double limite;
Cliente titular = new Cliente();
}
Programao Orientada a Objeto
O que temos:
Programao Orientada a Objeto

Fontes:
Caelum Java Objetos fj11
http://www.devmedia.com.br/introducao-a-programacao-orientada-a-objetos-em-
java/26452

Anda mungkin juga menyukai