34
Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

Embed Size (px)

Citation preview

Page 1: Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

Classes e objetosArrays e Sobrecarga

P. O. O.

Prof. Grace

Page 2: Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

2

Exercício (para entregar)

1. Elabore o diagrama de classes para a

classe ContaCorrente;

2. Implemente a classe ContaCorrente– O valor inicial do saldo deve ser sempre maior

ou igual a 0;

– Não esqueça de validar os valores de saque e

depósito (não devem ser menores que zero).

Page 3: Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

3

Classe ContaCorrente

Atributos (variáveis de instância)– Número da conta

– Titular

– Saldo

Métodos (operações/ tarefas)– Construtor: inicializa titular, numero da conta e saldo (sempre

maior ou igual a zero);

– Depósito (atualizar saldo acrescido da quantia depositada);

– Saque (atualizar saldo decrescido da quantia sacada);

– Exibir dados da conta

Page 4: Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

4

UML

Modelagem mínima solicitada para ContaCorrente

Decisão de projeto

Page 5: Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

5

Implementação

Não apresenta tipo de retorno

Usa método set

Não possui método set

Não possui método set

Page 6: Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

6

Saque e deposito

Page 7: Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

7

verDados( ) e setTitular( )

Page 8: Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

8

Gets

Page 9: Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

9

O são Arrays?

Arrays ou vetores são objetos que contêm uma coleção de elementos do mesmo tipo

Cada elemento pode ser acessado ou referenciado individualmente por um índice numérico

Esse valor inteiro representa a posição do elemento dentro do vetor

Elementos podem ser de tipo primitivo, objetos ou outros arrays

Page 10: Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

10

Exemplo: Array de 12 elementos

Page 11: Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

11

Arrays

Índice:– Número da posição entre colchetes.– Deve ser inteiro positivo ou expressão de inteiro.– Primeiro elemento tem o índice zero:

a = 5;b = 6;c[ a + b ] += 2;

Adiciona 2 ao elemento c[ 11 ].

Page 12: Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

12

Cuidado com o tipo do índice

Utilizar um valor de tipo long como um índice

de array resulta em um erro de compilação.

Um índice deve ser um valor int ou um valor

de um tipo que possa ser convertido para int

— byte, short ou char, mas não long.

Page 13: Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

13

Declarando e criando arrays

São criados dinamicamente com a palavra-chave new

int c[] = new int[ 12 ];

Equivalente a:

int c[]; // declaraçãoc = new int[ 12 ]; // criação

Também podemos criar arrays de objetos:

String b[] = new String[ 100 ];

Page 14: Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

14

Erro comum de programação

Especificar o número de elementos entre os colchetes da declaração Ex. int c[ 12 ];// Erro

Múltiplas variáveis em única declaração:Ex.:

int[] a, b, c; // Um vetor e dois inteiros?

// Ou 3 vetores?

int a[], b, c; // Um vetor e dois inteiros

Page 15: Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

15

Exemplo: Criando um vetor

Page 16: Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

16

Definindo constantes

Também são chamadas

– constantes identificadas

– variáveis de leitura (read-only).

Tornam programas mais legíveis

– Ex.: constante TAM indica tamanho do vetor;

Page 17: Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

17

Uso de Constante eInicialização com valores calculados

Page 18: Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

18

Cuidados com constantes

Atribuir um valor a uma constante depois de

a variável ter sido inicializada é um erro de

compilação.

Tentar utilizar uma constante antes de ela

ser inicializada é um erro de compilação

Page 19: Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

19

Inicializando array com uma lista

Utiliza a lista inicializadora:– Itens entre chaves ({ }).– Itens em uma lista separada por vírgulas.

int n[] = { 10, 20, 30, 40, 50 }– Cria um array de cinco elementos.– Indexa valores de 0, 1, 2, 3, 4.

Não precisa da palavra-chave new.

Page 20: Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

20

Exemplo: Dias do mês

Page 21: Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

21

Criando a classe Data

Page 22: Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

22

Criando a classe Data (cont.)

Page 23: Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

23

Teste da Classe Data

Page 24: Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

24

Quantos construtores uma classe pode ter?

Nenhum (construtor padrão: não recomendável)

Apenas 1 construtor

Vários construtores!!!

Sobrecarga

Page 25: Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

25

Sobrecarga

O que é?– Recurso que permite que vários métodos, com

mesmo nome sejam definidos

– Obrigatório diferentes parâmetros: quantidade,

tipos e ordem dos argumentos

– Usada para definir vários construtores de acordo

com a necessidade

Page 26: Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

26

Construtores sobrecarregados - Classe Data

// construtor existentepublic Data (int d, int m, int a){

setData(d, m, a);}

// construtor com mês e anopublic Data (int m, int a){

setData(1, m, a);}

// construtor com apenas anopublic Data (int a){

setData(1, 1, a);}

Page 27: Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

27

Incluir métodos get

(...) // método público – obtém diapublic int getDia (){

return dia;}// método público – obtém mêspublic int getMes (){

return mes;}// método público – obtém anopublic int getAno (){

return ano;}

(...)

Page 28: Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

28

Teste Classe Data

public class TesteData { public static void main (String args[]){

Data data1, data2, data3;data1 = new Data(27, 04, 2009);data2 = new Data(2008);data3 = new Data(6, 2012);

System.out.println(“ Hoje é “ + data1.toString() +“ ingressei no segundo semestre de “ + data2.getAno() +“ e me formarei em “ + data3.getMes()

+”/”+data3.getAno());}

}

Page 29: Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

29

Atividade 1: Conta corrente

Altere a classe conta corrente considerando um novo

atributo: Limite

Considere este atributo no construtor da classe;

Durante a operação de saque atualize saldo

considerando que:– Só é permitido sacar se a quantia estiver dentro do saldo

mais limite do cliente;

– Caso a quantia não esteja coberta pelo limite, informe que

não foi possível realizar o saque por falta de recursos;

Page 30: Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

30

Atividade 1: Conta corrente

Sobrecarga:– Codifique um segundo construtor que receba

número da conta, titular e saldo. Neste caso, o

Limite padrão é de R$100,00.

– Codifique um terceiro construtor que receba

apenas o número da conta e titular. Neste caso,

saldo e limite devem ser inicializados com 0.

Page 31: Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

31

Atividade 2: Caixa Eletrônico

Escreva um programa em Java que utilize a classe conta

corrente para simular um caixa eletrônico.

A aplicação deve solicitar: número, titular, saldo e limite da

conta corrente para instanciar o objeto (abertura da conta).

Em seguida apresente um menu com as opções de Saque,

Deposito, Saldo e Sair.

Após a realização da operação selecionada, volte a exibir as

opções do menu até que seja selecionada a saída da

aplicação.

Page 32: Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

32

Exemplo (1ª parte do programa)

Sugestão: reescreva o método exibeDados( ) de modo a apresentar apenas numero da conta e titular;

Escreva um novo método verSaldo( ) que apresenta saldo e limite.

Page 33: Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

33

Exemplo (caixa eletrônico)

Page 34: Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace

34

Atividade 3

Altere a classe Data incluindo o método

bissexto( ) que informa se o ano é bissexto

ou não (booleano);

Utilize este método para validar a quantidade

de dias de fevereiro;

Elabore o diagrama UML desta classe;