Buscar

Aula 7 Programação a Orientação a Objetos

Prévia do material em texto

Programação a Orientação a Objetos
Prof. Ramon Pontes
Vantagens da OO
 Organização e pouca escrita
 Concentração de responsabilidades 
 Encapsular a lógica de negócio
 Modularização
Criação de tipos e referências em Java
 Considere um sistema bancário. 
 Qual seria a entidade mais importante desse sistema 
???
CONTA!
Características de uma conta
 O que toda conta tem e é importante para nós?
 Atributos
 Número da conta
 Nome do Dono da Conta
 Saldo 
 Limite, etc....
Comportamentos de uma Conta
 O que toda conta faz e é importante para nós? Isto é, 
o que gostaríamos de “pedir à conta"?
 Métodos 
 Sacar uma quantidade X
 Depositar uma quantidade X
 Imprimir o nome do Dono da Conta
 Transferir uma quantidade X para outra 
conta Y, etc...
Iniciando o projeto....
 Com isso temos o projeto conta bancária...
 Mas como acessar seu saldo ?
 Antes é necessário construir uma conta para poder 
acessar o que ela tem (Atributos) e pedi a ela que faça 
alguma coisa (Métodos).
Continuação
 Ao projeto da conta, isto é, a definição da conta, 
damos o nome de classe. Ao que podemos construir 
a partir desse projeto, as contas de verdade, damos o 
nome de objetos.
 A palavra classe vem da taxonomia da biologia.
Todos os seres vivos de uma mesma classe biológica 
têm uma série de atributos e comportamentos em 
comum, mas não são iguais, podem variar nos 
valores desses atributos e como realizam esses 
comportamentos(Métodos).
Uma classe em Java
class Conta {
int numero; 
String dono;
double saldo;
double limite;
// ..
}
OBS.: String é uma classe em Java.
Atributos de Conta, 
todo objeto criado a 
partir de Conta terão 
esses atributos...
Criando e usando um objeto
 Para criar (construir, instanciar) uma Conta, basta 
usar a palavra chave new.
 Ex.:
class Programa {
public static void main(String[] args) {
new Conta();
}
}
 Bem, o código acima cria um objeto do tipo Conta, mas como acessar 
esse objeto que foi criado? Precisamos ter alguma forma de nos 
referenciarmos a esse objeto. Precisamos de uma variável!
Continuação...
class Programa {
public static void main(String[] args) {
Conta minhaConta;
minhaConta = new Conta();
}
}
 Através da variável minhaConta, agora, podemos 
acessar o objeto recém criado para alterar seu dono, 
seu saldo, etc
Continuação...
class Programa {
public static void main(String[] args) {
Conta minhaConta;
minhaConta = new Conta();
minhaConta.dono = "Duke";
minhaConta.saldo = 1000.0;
System.out.println("Saldo atual: " + minhaConta.saldo);
}
}
 É importante fixar que o ponto foi utilizado para acessar algo em 
minhaConta. Agora, minhaConta pertence ao Duke, e tem saldo de 
mil reais.
Métodos
 Dentro da classe, também declararemos o que cada 
conta faz e como isto é feito, ou seja os 
comportamentos que cada classe tem.
 Queremos criar um método que saca uma 
determinada quantidade e não devolve nenhuma 
informação para quem acionar esse método...
Continuação...
class Conta {
double salario;
double saldo;
// ... outros atributos ...
void saca(double quantidade) {
this.saldo = this.saldo - quantidade;
}
}
 A palavra chave void diz que, quando você pedir para a conta sacar 
uma quantia, nenhuma informação será enviada de volta a quem 
pediu.
Argumento de método ou 
parâmetro.
Usamos o this para informar que estamos 
acessando um atributo e não uma variável.
Continuação...
 Depositando na conta....
class {
// ... outros atributos e métodos ...
void deposita(double quantidade) {
this.saldo += quantidade;
}
}
Agora vamos testar os métodos criados na 
classe conta...
Métodos com retorno
 Todo método tem um tipo de retorno
 Quando não retornar nada o tipo é VOID
Acessando objetos por referência
 Associar uma variável a um objeto é uma garantia 
que essa variável pode acessar o objeto por 
referência.
 Ex.: Tenho uma variável c1 do tipo Conta
Exercício
 1) Crie uma Classe Conta com os mesmos 
atributos do exemplo anterior, com seus 
métodos depositar e sacar. Em seguida crie a 
classe testaConta instancie um objeto do tipo 
Conta e altere os valores da conta ex.: nome, 
saldo, número da conta,em seguida realize 
operações de saque e depósito e no final 
imprima seus atributos.
Exercício
2) Crie uma classe chamada Carro com os seguintes 
atributos cor, modelo, velocidadeAtual e 
velocidadeMaxima. Adicione a essa classe 3 métodos, 
ligar (informa que o carro está ligado), acelerar e 
mudarMacha. Depois crie uma classe TestaCarro, 
instancie variáveis que referencia a classe carro e 
atribua valor a seus atributos. Tente também ligar o 
carro, acelerar e mudar a macha usando os métodos 
implementados.

Continue navegando