Buscar

POO 6 static pratica

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

MODIFICADOR STATIC E 
PRÁTICA
Thaís Alves Burity Rocha
Agenda
 Modificador static
 Exercícios
 Encapsulamento
 static
Introdução
 Cada objeto possui seus próprios atributos, com 
valores próprios
 Estado do objeto
 Objetos executam métodos
 Atributos devem ser acessados apenas por métodos
(encapsulamento)
 Apesar disso, existem informações que podem
ser comuns à todos os objetos
 Também existem operações que não dependem
do estado dos objetos
Exemplo
public class Conta{
private String numero;
private double saldo;
public int totalContas;
public Conta(String n, double s){
totalContas = totalContas + 1;
this.numero = n + “-” + totalContas;
this.saldo = s;
}
...
} 
Registra o total de 
contas existentes
Dessa forma, cada 
objeto vai ter seu próprio 
atributo totalContas, que 
vai valer 1
Modificador static
 Sinaliza que o atributo ou método pertence à 
classe e não à uma instância específica
 Acesso pode ser feito usando o nome da classe ou
mesmo usando uma referência para um objeto da 
classe
 O ponto-chave aqui é que o acesso não requer uma
instância da classe
Atributo static: Exemplo
public class Conta{
private String numero;
private double saldo;
public static int totalContas = 0;
public Conta(String n, double s){
totalContas = totalContas + 1;
this.numero = n + “-” + totalContas;
this.saldo = s;
}
} 
totalContas é um atributo 
de toda a classe
Agora, o atributo totalContas
é compartilhado por todos os 
objetos da classe, que recebeu 
0 apenas quando criado
Atributo static: Exemplo
c
d
Conta c = new Conta(“11139”, 1240.55);
System.out.println(c.totalContas);
System.out.println(Conta.totalContas);
Conta d = new Conta(“11140”, 265);
System.out.println(d.totalContas);
System.out.println(c.totalContas);
Conta.totalContas = Conta.totalContas + 1;
System.out.println(Conta.totalContas);
Método static: Exemplo
public class Conta{
private String numero;
private double saldo;
private static int totalContas = 0;
...
public static int getTotalContas(){
return totalContas;
}
} Se o método getTotalContas() não for 
static, será necessário ter um objeto Conta 
para chamá-lo. Sendo static, o método 
pode ser executado sem um objeto!
Método static: Exemplo
c
d
Conta c = new Conta(“11139”, 1240.55, cliente);
System.out.println(c.getTotalContas());
System.out.println(Conta.getTotalContas());
...
Conta d = new Conta(“11140”, 265, cliente);
System.out.println(d.getTotalContas());
System.out.println(c.getTotalContas());
Modificador static: Regras
 Membros static podem ser acessados por métodos 
não static
 Métodos static não podem acessar atributos e nem
métodos que não sejam static
//método a ser chamado no construtor de Conta
private void configNumero(String n){
numero = n +“-”+ getTotalContas();
}
public static int getTotalContas(){
numero = null; //não faz sentido
return totalContas;
}
Modificador static: Utilidade
 Manter controle sobre processamento
 Exemplo: Saber quantos objetos de uma dada classe 
foram instanciados
 Construir classes “utilitárias”
 Exemplo: java.lang.Math
 Operações numéricas básicas (raiz quadrada, logaritmo, 
funções trigonométricas, etc…)
A lógica é que o comportamento dos métodos 
não depende do estado de um objeto
Modificador static: Exemplo da API
 Método main
 Método de impressão no console
public static void main (String[] args){
}
System.out.println(<mensagem>);
Variável static Método não static
Exercícios
Lista 2: Questão 1
 A) Crie os pacotes entidade e main.
 B) Mova as classes Conta, Cliente e Endereco para o pacote 
entidade.
 C) Mova a classe Main para o pacote main.
 D) Atualize a classe Conta utilizando modificadores de acesso 
para os atributos e métodos.
 E) Atualize a classe Conta incluindo métodos getters e setters (que 
façam sentido).
 J) Atualize a classe Conta para incluir a variável contador
(static, int). Essa variável deverá ser inicializada com 0 e sempre 
que um objeto for instanciado ela deverá ser incrementada. A 
classe Conta deverá proteger o acesso a essa variável, de 
maneira que seu valor nunca possa ser alterado fora da classe.
Lista 2: Questão 3
 Utilizando a classe Math (java.lang.Math) da API de 
Java, crie uma classe denominada TesteMath, adicione 
o método main e então, utilizando a saída padrão, 
exiba o resultado das seguintes operações:
 Math.pow(x, y)
 Math.sqrt(x)
 Math.round(x)
 Math.max(x,y)
 Math.random()
 Para entender o que é cada método, consulte a 
documentação da classe Math.
Entrega
Diretrizes Gerais
 Prazo e pontuação
 Até 12h do dia seguinte, vale 100%
 Entre 12h e 23h59 do dia seguinte, vale 50%
 A partir daí, não vale nada
Diretrizes Gerais
 Formato
 Criar um arquivo .jar com todo o código-fonte (arquivos 
.java) e enviar por e-mail
 Assunto do e-mail: POO_AP2_NomeCompletoCaptalizado
 E-mail de destino: thais.burity@uag.ufrpe.br
 Nome do arquivo: 
POO_AP2_NomeCompletoCaptalizado.jar
 Exemplo: Se o nome do aluno é José Alves, o assunto do e-
mail deverá ser “POO_AP2_ JoseAlves” e o arquivo em 
anexo deverá ser “POO_AP2_JoseAlves.jar”
 Entregas que não seguirem o formato serão
desconsideradas

Outros materiais