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

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

Métodos Programação II 1 Métodos de Programação II (Mestrado Integrado em Engenharia de Comunicações) 1º Ano, 2º Semestre Elementos de Classe, class wrappers.

Apresentações semelhantes


Apresentação em tema: "Métodos Programação II 1 Métodos de Programação II (Mestrado Integrado em Engenharia de Comunicações) 1º Ano, 2º Semestre Elementos de Classe, class wrappers."— Transcrição da apresentação:

1 Métodos Programação II 1 Métodos de Programação II (Mestrado Integrado em Engenharia de Comunicações) 1º Ano, 2º Semestre Elementos de Classe, class wrappers

2 Métodos Programação II 2 Classes Classes: podem ser vistas como objectos especiais. Isto é, podemos enviar mensagens às classes e fazer uso das suas variáveis (de classe). Estas facilidades fornecem um mecanismo de broadcasting, comunicação com todas as instâncias da classe. Na definição de classe aparece agora espaço para a definição de variáveis e métodos de classe. Todas as instâncias têm acesso à estrutura privada da classe. As variáveis e métodos de classe existem sempre, mesmo quando não existem instâncias dessa classe!

3 Métodos Programação II 3 Classes como Objectos Variáveis de classe: visíveis a todas as instâncias da classe, Métodos de classe: são activados por mensagens enviadas à classe. Podemos manter os mesmos princípios de encapsulamento: há métodos de classe para aceder às variáveis de classe. A keyword static é usada para declarar os elementos privados à classe.

4 Métodos Programação II 4 Variáveis de classe Constantes especificas de uma classe. Não é razoável ter uma constante repetida em todas as instâncias de uma classe! Exemplo: valor de π na classe Circulo. Exemplo clássico: contador de instâncias criadas para uma determinada classe.

5 Métodos Programação II 5 Exemplo public class Circulo { private static int num = 0; public static int getnum() { return num;} //constructor Circulo(double x, double y, double r) { this.centro = new Ponto(x,y); this.raio = r; num++;} } // usar os métodos de classe enviando uma msg à própria classe. System.out.println(Número de Circulos=+Circulo.getnum()); Variável contador Método de classe de acesso ao contador Neste constructor incrementa-se o contador sempre que se o invoca!

6 Métodos Programação II 6 Outros exemplos Métodos de classe que funcionam como inicializadores: public class ex1 { static int a[] = new int[100]; static {double x; for(int i=0;i < 100; i++;x+=i) a[i] = x; } // Use de outras classes double a = Math.pow(raio,2); int x = Integer.MAX_VALUE; // constante da classe Integer

7 Métodos Programação II 7 Classes sem instâncias Class Arrays –int a[] = {3,6,1,2,0,9,7,8,4}; –Arrays.sort(a); Arrays.binarySearch(a,2); Class Math –Double d =Math.sqrt(2.3); d = Math.pow(d,2); –d = Math.log(d);

8 Métodos Programação II 8 Class Wrappers O java contém classes que são imagens dos tipos primitivos Exemplos: –Integer int –Double double –Long long – etc. Produzem objectos imutáveis. São wrappers porque embrulham os tipos primitivos em objectos.

9 Métodos Programação II 9 Class Wrappers (cont) Possuem sempre constantes de classe que especificam o valor max e min. Exemplo Integer.MIN_VALUE Servem para conversão de Strings em valores numéricos: –String s=8; –int i = Integer.parseInt(s); –ou String s = 12.45; double d = new Double(s); Há o processamento automático do boxing e unboxing entre os dois níveis: –Integer i = new Integer(12); int x = i; –Double d = new Double(3.14); int x = d.intValue();

10 Métodos Programação II 10 Arrays de Objectos Podemos representar colecções de objectos usando arrays. Exemplo: Circulo c[] = new Circulo[10]; c[0] = new Circulo(0,0,10); c[1] = new Circulo(1,6,18); …. // encontra circulo com maior área. double max = c[0].area(); Circulo m = null; for(Circulo x:c) { double temp = x.area(); if(temp> max) { max = temp; m = x; } A var m vai conter a referência para o circulo de maior área.

11 Métodos Programação II 11 Exercícios Definir a classe Conta Bancária Um conta é representada por um: –Titular –Número da conta e saldo –Uma lista de movimentos Criar várias contas. Criar classe Banco. Esta classe guarda todas as contas num array. Implementar métodos para débitos e créditos de movimentos Deve ser possível contabilizar o número de contas bem como o montante de capital depositado no banco (total de saldos das contas). Implementar um método para debitar despesas bancárias em todas as contas.


Carregar ppt "Métodos Programação II 1 Métodos de Programação II (Mestrado Integrado em Engenharia de Comunicações) 1º Ano, 2º Semestre Elementos de Classe, class wrappers."

Apresentações semelhantes


Anúncios Google