Académique Documents
Professionnel Documents
Culture Documents
César A. M. Marcon
2009/01
Atributos e Métodos de Classe
2
Atributos de Instância
Cada objeto possui uma cópia particular com seus valores
Representam o estado de um objeto em particular
Atributos de Classe
Cada classe possui uma única cópia do atributo,
independente do número de objetos instanciados a partir
da classe
Objetos compartilham os atributos de classe
São declarados pela palavra-chave static
Invocação: <nome_classe>.<nome_atributo_público>
Atributos e Métodos de Classe
6
classe
Atributos e Métodos de Classe
10
Métodos de Instância
Fornecem o comportamento dos objetos instanciados a partir de uma
classe
Trabalham sobre os atributos de um objeto dessa classe
Métodos de Classe
Fornecem um comportamento que é independente da existência de
objetos de uma classe.
Pertencem à classe e são compartilhados por todas as instâncias da
classe.
Trabalham sobre os atributos de classe.
Indicados pela palavra-chave static.
Invocação: <nome_classe>.<nome_método>(<parâmetros>)
Atributos e Métodos de Classe
11
Estudo de caso 1
A “famosa” aplicação “Alô Mundo”:
Estudo de caso 1
A classe AloMundo possui um método de classe, o
método main
O método main é automaticamente invocado pela máquina virtual
Java quando se executa a classe AloMundo
Ele é um método de classe, pois não depende de nenhum objeto
da classe AloMundo na qual ele está declarado
Atributos e Métodos de Classe
15
Estudo de caso 1
A classe AloMundo referencia também um atributo de
classe
A construção System.out.println() é na verdade o atributo de
classe out da classe System, o qual guarda uma instância da
classe PrintStream que possui um método de instância chamado
println
Atributos e Métodos de Classe
16
Estudo de caso 2
A classe Media é capaz de manter informações sobre um
acumulador de valores inteiros, apresentando a
funcionalidade de calcular a média, a qualquer momento,
dos valores que foram adicionados ao acumulador
Adicionalmente, a classe Media também é capaz de
informar a média de todas as instâncias já criadas dessa
classe
Atributos e Métodos de Classe
17
Estudo de caso 2
Atributos de instância:
acum guarda a soma de todos os valores adicionados ao
acumulador
qtd é um contador do número de valores adicionados ao
acumulador
Métodos de instância:
somaAcum fornece a funcionalidade de adicionar um valor ao
acumulador
media é utilizado para calcular a média do acumulador
Atributos e Métodos de Classe
18
Estudo de caso 2
Atributos de classe:
acumGlobal guarda a soma de todos os valores adicionados a
todos os acumuladores
qtdGlobal guarda o número de valores adicionados a todos os
contadores
Métodos de classe:
mediaGlobal é utilizado para calcular a média de todos os
acumuladores
Atributos e Métodos de Classe
19
Estudo de caso 2
Note no exemplo, que um método de instância
(somaAcum) pode acessar atributos de instância (acum,
qtd) e atributos de classe (acumGlobal, qtdGlobal)
Mas um método de classe (mediaGlobal) só pode acessar
atributos de classe (acumGlobal, qtdGlobal)
Atributos e Métodos de Classe
21
Media.mediaGlobal());
Media var2 = new Media();
var2.somaAcum(1);
var2.somaAcum(1);
System.out.println("Media da instancia var2: "+var2.media());
System.out.println("Media das instancias da classe Media: " +
Media.mediaGlobal());
}
}
Atributos e Métodos de Classe
22
( x2 − x1 ) + ( y2 − y1 )
2 2
Exercícios
26