A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace."— Transcrição da apresentação:

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

2 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).

3 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

4 4 UML Modelagem mínima solicitada para ContaCorrente Decisão de projeto

5 5 Implementação Não apresenta tipo de retorno Usa método set Não possui método set

6 6 Saque e deposito

7 7 verDados( ) e setTitular( )

8 8 Gets

9 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

10 10 Exemplo: Array de 12 elementos

11 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 ].

12 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.

13 13 Declarando e criando arrays São criados dinamicamente com a palavra-chave new int c[] = new int[ 12 ]; Equivalente a: int c[]; // declaração c = new int[ 12 ]; // criação Também podemos criar arrays de objetos: String b[] = new String[ 100 ];

14 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

15 15 Exemplo: Criando um vetor

16 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;

17 17 Uso de Constante e Inicialização com valores calculados

18 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

19 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.

20 20 Exemplo: Dias do mês

21 21 Criando a classe Data

22 22 Criando a classe Data (cont.)

23 23 Teste da Classe Data

24 24 Quantos construtores uma classe pode ter? Nenhum (construtor padrão: não recomendável) Apenas 1 construtor Vários construtores!!! Sobrecarga

25 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

26 26 Construtores sobrecarregados - Classe Data // construtor existente public Data (int d, int m, int a) { setData(d, m, a); } // construtor com mês e ano public Data (int m, int a) { setData(1, m, a); } // construtor com apenas ano public Data (int a) { setData(1, 1, a); }

27 27 Incluir métodos get (...) // método público – obtém dia public int getDia () { return dia; } // método público – obtém mês public int getMes () { return mes; } // método público – obtém ano public int getAno () { return ano; } (...)

28 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()); }

29 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;

30 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.

31 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.

32 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.

33 33 Exemplo (caixa eletrônico)

34 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;


Carregar ppt "Classes e objetos Arrays e Sobrecarga P. O. O. Prof. Grace."

Apresentações semelhantes


Anúncios Google