de objetos - cic/unbjhcf/mybooks/itjava/slides/conceitos... · 2006-08-24 · polimorfismo na...

47
Conceitos Básicos do Modelo de Objetos

Upload: others

Post on 19-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Conceitos Básicos do Modelo de Objetos

Page 2: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

Conceitos Básicos do Modelo de Objetos (1/2)

�Objetos�Atributos (Variáveis ou Campos)�Operações (Métodos e Mensagens)�Classes

Page 3: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

O Que é um Objeto?

� Uma representação de uma coisa do mundo real, como uma conta bancária, uma pessoa, um produto, um veículo, etc, cujo objetivo é suportar a construção de sistemas computacionais

� Uma entidade bem definida, presente em um programa em execução, que apresenta propriedades e a qual podem ser aplicadas operações.

� Objetos ocupam espaço na memória no computador, assim como um processo (programa em execução)

Page 4: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

Objetos em um Sistema Bancário

Banco

Contas

Conta

Débito Crédito Débito

Transações

Conta

Débito Débito

Transações

Conta

Credito Crédito

Transações

Cliente

Cliente

Cliente

Cliente

Clientes

Page 5: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

debite()

credite()

emiteExtrato()

Saldo=100

Métodos de interagir como objeto

Atributos do objeto

Representação Gráfica de um Objeto

Numero=1

Uma Conta Bancária, cujo número é 1, e com saldo de R$ 100

Page 6: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

Outras Representações para Objetos

debite()credite()

emiteExtrato()

saldonumero

float debite(float)

float credite(float)

void emiteExtrato()

saldotransações

numero

c1: ContaBancaria

saldo = 100

float debite(float)float credite(float)void emiteExtrato()

numero = 1

c2: ContaBancaria

saldo = 100numero = 1

Page 7: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

Atributos de um Objeto

�Os atributos de um objeto são armazenados no interior destes, e nomeados através de VARIÁVEIS ou CAMPOS

�Os campos de um objeto contém�Valores primitivos (int, float, etc.) ou�Referências a outros objetos

�O valor dos campos de um objeto em um determinado momento forma seu ESTADO

Page 8: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

Transacao[]

Objetos, Atributos, Composições e Agregações

float saldo=10.50;

int numero=1;

Transacao[] transacoes;

Cliente cliente;

ContaBancaria

1 2 3 40

Transacao Transacao

Cliente

String nome;

ContaBancaria[] contas;

String“Maria”10

ContaBancaria[]

Page 9: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

Método

�É a interface através do qual se interage com o objeto

�Um método é definido pela sua assinatura (nome, valor de retorno, parametros de chamada) e pelo código que executa quando invocado

// O método debite descreve o que uma// conta bancária deve fazer quando debitandofloat debite(float valor) {saldo = saldo - valor;return saldo;

}

Page 10: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

Métodos da Interface de uma Conta Bancária

c1: ContaBancaria Nome e Tipo do Objeto

saldo = 100.25numero = 1

Atributos do Objeto

float debite(float)float credite(float)void emiteExtrato()

Métodos da Interface do Objeto

Page 11: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

Conta

Mensagem

�Corresponde à invocação de método de um objeto (chamado) por outro objeto (chamador)

Mensagem

Banco

ContaBancaria conta;

float saldo = conta.debite(30.25);

Page 12: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

Qual o Saldo da Conta Após a Invocação do Método Credite?

conta.credite(100)

Mensagem

ContaBancaria

saldo=300

ContaBancaria

saldo=?

Page 13: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

Classes

�São os programas que definem o comportamento dos objetos

�São moldes para criação de objetos�Muitos Objetos, Poucas Classes

�A classe é responsável pela criação dos objetos

Page 14: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

Representação Gráfica de uma Classe e Vários Objetos

Conta #1

debite()credite()

emiteExtrato()

Conta #2

debite()credite()

emiteExtrato()

Conta #3

Conta #4

debite()credite()

emiteExtrato()

debite()credite()

emiteExtrato()

ContaBancária

debite()credite()

emiteExtrato()

saldotransações

numero

Page 15: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

Outra Representações Gráficas para Classe e Objeto

ContaBancaria

saldo: float

float debite(float)float credite(float)void emiteExtrato()

numero: int

c2: ContaBancaria

saldo = -9.78numero = 2

c1: ContaBancaria

saldo = 100numero = 1

CLASSE OBJETOS

Page 16: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

Definindo a Classe ContaBancária em Java

public class ContaBancaria {private int numero;private int saldo;private Transacao[] transacoes;

public ContaBancaria(int numero) {...}

public float debite(float valor, String data) {saldo = saldo - valor;return saldo;

}public float credite(float valor, String data) { ... }public void emiteExtrato() { ... }

}

Atributos

Construtor(es)

MétodosInstância

public class ContaBancaria {

}

Page 17: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

Formato Simplificado de uma Declaração de Classe em Java

class <NomeDaClasse> {// declaração de atributos

<Tipo> <nomeDoAtributo-1>; ... ; <Tipo> <nomeDoAtributo-n>;

// método construtor

<NomeDaClasse>(<Tipo> <nomeDoParam-1>, ...) {<corpoDoMetodoConstrutor>}

// métodos de instância

<Tipo> <nomeDoMetodo-1>(<Tipo> <nomeDoParam-1>, ...) {<corpoDoMetodoDeInstancia-1>}

<Tipo> <nomeDoMetodo-2>(<Tipo> <nomeDoParam-1>, ...) {<corpoDoMetodoDeInstancia-2>}

}

Page 18: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

Criando Contas Bancáriasclass ContaBancaria

ContaBancaria(int)

ContaBancaria(int) Método construtor

numero

numero Atributo (variável de instância)

debite(float, String)

debite(float, String) Método (de instância)

Banco

new ContaBancaria(1);#1

new ContaBancaria(2);

#2

new ContaBancaria(33); #33

Page 19: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

Criando Contas Bancárias

�Três contas bancárias criadas dentro de um banco.

class Banco {public static void main(String[] args) {ContaBancaria conta1, conta2, conta3;conta1 = new ContaBancaria(1);conta2 = new ContaBancaria(2);conta3 = new ContaBancaria(33);

}...

}

Page 20: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Exercício: Encontrando Classes e Objetos

Page 21: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

Onde Estão as Classes, Objetos, Métodos e Atributos?

�De um sistema de �Gestão de pessoal?�Tributação?�Controle de tráfego aéreo?�Hospitalar?�Automação fabril?�etc

Page 22: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

Exercício

�Crie as classes ContaBancária e Banco, conforme o exemplo mostrado

Page 23: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

Conceitos Básicos do Modelo de Objetos (2/2)

�Herança�Polimorfismo

Page 24: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

Herança

�Permite definir uma nova classe como especialização de outra já existente

�Superclasse �classe básica pré-existente�generalização de um conceito

�Subclasse�especialização da superclasse�refinamento de um conceito

Page 25: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

ContaBancária

debite()credite()

emiteExtrato()

saldotransações

numero

ContaEspecial

calculaJuros()

limiteHerda (é uma)

ContaCorrente

emiteTalonario()

talonario Herda (é uma)

ContaPoupança

debite()credite()

aniversarioMes()

corrMonetariajuros

Herda (é uma)

Herança entre Classes de uma Aplicação Bancária

Page 26: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

Classe e Objeto ContaCorrente

class ContaCorrente extends ContaBancaria {

int talonarios;

public void emiteTalonarios() {...}

}

ContaCorrente

debite()

credite() emiteExtrato()

saldotransações

numero

emiteTalonario()

talonario

new ContaCorrente(1)

Page 27: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

Classe ContaEspecial

class ContaEspecial extends ContaCorrente {

float limite;

float calculaJuros() {...}

}

ContaEspecial debite()

credite() emiteExtrato()

saldotransações

numero

calculaJuros()

limite

new ContaEspecial(1)

Page 28: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

Benefícos da Herança

�Fatoração e redução do tamanho do código

�Estruturação do código�Aumenta a reutilização de código�Redução do esforço de evolução da

aplicação�Melhoria geral da qualidade do código

Page 29: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Exercício: Classes e Relacionamentos de Herança

Page 30: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

Onde aplicar Herança às Classes?

�De um sistema de �Gestão de pessoal?�Tributação?�Controle de tráfego aéreo?�Hospitalar?�Automação fabril?�etc

Page 31: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias

Page 32: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

newnewnew

newnew

new new

new

Criação de Algumas Contas e Transações

Conta

Transacao

Crédito Débito

debitecredite

debite

creditedebite

[]

[]

[]

Page 33: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Exercício Simulado: Criação do Sistema de Controle Bancário

Page 34: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

Controle de Conta Bancária

�Definir classes �ContaBancária, Transação, TransaçãoDébito e

TransaçãoCredito

�Elaborar um esquema polimórfico de emissão de extrato bancário que utilize as classes acima

�Elaborar código que cria uma ContaBancária, realiza algumas transações de crédito e débito e emitir um extrato

Page 35: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

Transação: Projeto

�Estado formado pelo valor e data�Métodos:

�Construtor (valor e data)�Emite linha de extrato (abstrato)�Recupera valor da transação�Recupera data da transação�Indica qual a variação que a transação

realiza sobre o saldo da conta (abstrato)

Page 36: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

Transação:Implementação

�Valor da transação armazenado como inteiro (int)

�Data da transação armazenada como string (String)

�Emissão de linha de extrato efetuada através da saída padrão (System.out)

Page 37: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

Transação:Esqueleto de Código

abstract class Transacao {

int valor;

String data;

Transacao(int valor, String data) {..}

int getValor(){..}

String getData() {..}

abstract int getVariação();

abstract void emiteLinhaExtrato();

}

Page 38: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

TransaçãoCrédito:Projeto e Implementação

�Herda de transação�Implementa métodos abstratos de

transação�Emite linha de extrato�Indica a variação POSITIVA que a

transação realiza sobre o saldo da conta

Page 39: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

TransaçãoCrédito:Esqueleto de Código

class TransacaoCredito extends Transacao {

TransacaoCredito(int valor, String data) {..}

int getVariação() {..}

void emiteLinhaExtrato() {..}

}

Page 40: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

TransaçãoDébito:Projeto e Implementação

�Herda de transação�Implementa métodos abstratos de

transação�Emite linha de extrato�Indica a variação NEGATIVA que a

transação realiza sobre o saldo da conta

Page 41: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

TransaçãoDébito:Esqueleto de Código

class TransacaoDebito extends Transacao {

TransacaoDebito(int valor, String data) {..}

int getVariação() {..}

void emiteLinhaExtrato() {..}

}

Page 42: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

ContaBancária: Projeto

�Estado formado pelo número da conta, saldo anterior e transações efetuadas

�Métodos:�Construtor (número da conta)�Recupera número da conta�Recupera saldo atual da conta�Lança débito (valor e data)�Lança crédito (valor e data)�Emite extrato

Page 43: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

ContaBancária: Implementação

�O saldo inicial da conta é sempre 0�Saldo armazenado como inteiro (int),

representa o saldo antes de efetivar as transações (saldo anterior)

�Transações são armazenadas em um array de tamanho fixo

�Emissão de extrato efetuada através da saída padrão (System.out.println())

Page 44: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

ContaBancária: Esqueleto de Código

class ContaBancaria {

int numero;

int saldoAnterior;

Transacao[] transacoes;

ContaBancaria(int numero) {..}

int getNumero(){..}

int getSaldoAtual() {..}

void debite(int valor, String data) {..}

void credite(int valor, String data) {..}

void emiteExtrato() {..}

}

Page 45: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

Criação de Contas e Transaçõesclass ContaBancaria {..public static void main(String[] args) {ContaBancaria conta =new ContaBancaria(...);

..conta.debite(20, “23/04/1999”);conta.credite(40, “26/04/1999”);..conta.emiteExtrato();..

}}

Page 46: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

Exercício Simulado:Usando o JBuilder

�Familiarizando-se com a interface�Criação de projetos e classes�Criação do HelloWorld

�Criação do Sistema de Controle de Conta Bancária definido anteriormente

Page 47: de Objetos - CIC/UnBjhcf/MyBooks/itjava/slides/Conceitos... · 2006-08-24 · Polimorfismo na Construção de Software: um Estudo de Caso usando Contas Bancárias. Java Básico. Copyright

Java Básico. Copyright © 1999 Jorge H. C. Fernandes ([email protected]). Todos os Direitos Reservados.

Classes e Objetos do Modelo da Applicação ContaBancaria

Transacao

Crédito Debito

Conta

Débito Crédito Débito