Professional Documents
Culture Documents
Tcnicas de Programao I
(CK0112 2017.1)
2
!
Sumrio
Classes
Objetos
Atributos
Mtodos
Passagem de Parmetros
Modificadores de Acesso
3
!
Classe
4
!
A Classe Conta
Nome da classe
Propriedades/atributos da classe
Operaes/mtodos da classe
5
!
Assinatura da Classe Conta em Java
Classe Conta: Assinatura
01 public class Conta {
02 public Conta (String numero){}
03 public void creditar(double valor){}
04 public void debitar(double valor){}
05 public String numero(){}
06 public double saldo(){}
07 }
6
!
Descrio da Classe Conta em Java
Classe Conta: Descrio
01 public class Conta {
02 private String numero;
03 private double saldo;
04
05 public Conta (String numero) {
06 this.numero = numero;
07 saldo = 0;
08 }
09 public void creditar (double valor){
10 saldo = saldo + valor;
11 }
12 public void debitar (double valor){
13 saldo = saldo - valor;
14 }
15 public String numero() {
16 return numero;
17 }
18 public double saldo() {
19 return saldo;
20 }
21 }
7
!
Objetos
8
!
Objetos
Um objeto uma entidade independente
Estado Interno: uma memria interna em que
valores podem ser armazenados e modificados ao
longo da vida do objeto (conjunto de atributos ou
variveis de instncia)
9
!
Um Objeto da Classe Conta
creditar() debitar()
numero saldo
21.342-7 875,32
saldo() numero()
10
!
Mudana de Estado
creditar(10)
numero saldo numero saldo
21.342-7 875,32 21.342-7 885,32
11
!
Instanciando Objetos do Tipo Conta
Programa CriaConta: Descrio
01 public class CriaConta {
02
03 public static void main(String args[]){
04 Conta conta;
05 conta = new Conta(21.342-7);
06 conta.creditar(500.87);
07 conta.debitar(45.00);
08 System.out.println(conta.saldo());
09 }
10 }
12
!
Codifique as classes Conta e CriaConta e os execute.
13
!
Atributos
So propriedades de um objeto. Basicamente
a estrutura de dados que vai representar a
classe
Exemplo: Conta possui atributos numero e saldo
14
!
Mtodos
Mtodos definem as habilidades dos
objetos. Um mtodo em uma classe apenas
uma definio. A ao s ocorre quando o
mtodo invocado atravs do objeto
15
!
Mtodos em Java
Podemos ver os mtodos em Java como
procedimentos e funes. Se o tipo de retorno
for void podemos interpretar o mtodo como
um procedimento, caso contrrio, uma funo
Exemplos
O mtodo creditar (double valor) da classe Conta
funciona como um procedimento
O mtodo saldo() da classe Conta funciona como
funo
16
!
Mtodos em Java: Construtor
O (pseudo-) mtodo construtor determina que aes
devem ser executadas quando da criao de um
objeto
Deve possuir o mesmo nome da classe
No deve ter indicao do tipo de retorno
Unicamente invocado no momento da criao do objeto
atravs do comando new
Exemplo: Conta conta = new Conta(10.234-x);
17
!
Passagem de Parmetros
O nmero de parmetros passados deve ser igual ao da definio
18
!
Modificadores de Acesso
Modificador Funcionalidade
Indica que o mtodo ou atributo s pode ser acessado dentro
private
da classe em que declarado
Indica que o mtodo ou atributo s pode ser acessado de
protected dentro do pacote em que a classe na qual est declarada est
contida atravs de uma subclasse
Indica que a classe, o mtodo ou o atributo podem ser
public acessados em qualquer lugar e a qualquer momento da
execuo do programa
Usado para: criar uma varivel compartilhada que poder ser
acessada por todas as instncias de objetos de uma mesma
static
classe; e para declarar mtodos que devem ser acessados
diretamente na classe e no nas suas instncias
Indica que a classe, o mtodo ou o atributo tm uma nica
final atribuio que se mantm constante, ou seja, no pode ser
alterada no decorrer do processamento
19
!
A Classe Banco: Assinatura
Classe Banco: Assinatura
01 public class Banco {
02 public Banco(){...}
03 public void cadastrar(Conta conta){...}
04 private Conta procurar(String numero){...}
05 public void creditar(String numero, double valor){...}
06 public void debitar(String numero, double valor){...}
07 public double saldo(String numero) {...}
08 public void transferir(String origem, String destino, double valor){...}
09 }
10
20
!
A Classe Banco: Descries
Classe Banco: Descrio
01 public class Banco {
02 private Conta[] contas;
03 private int indice = 0;
04
05 public Banco(){
06 contas = new Conta[100];
07 }
08
09 public void cadastrar(Conta conta){
10 contas[indice] = conta;
11 indice++;
12 }
13 (...)
21
!
A Classe Banco: Descries
Classe Banco: Descrio
14 (...)
15 private Conta procurar(String numero){
16 int i = 0;
17 boolean achou = false;
18 while ((!achou) && (i < indice)) {
19 if (contas[i].numero().equals(numero)) {
20 achou = true;
21 } else {
22 i++;
23 }
24 }
25 if (achou == true) {
26 return contas[i];
27 } else {
28 return null;
29 }
30 }
31 (...)
22
!
A Classe Banco: Descries
Classe Banco: Descrio
32 (...)
33 public void debitar(String numero, double valor) {
34 Conta conta;
35 conta = procurar(numero);
36 if (conta != null) {
37 conta.debitar(valor);
38 } else {
39 System.out.println("Conta Inexistente!");
40 }
41 }
42 (...)
43 }
23
!
Tutorial de Programao 02
24
!