JAVA - Atributos e Metodos Estaticos

Embed Size (px)

Citation preview

Atributos e Mtodos

Programao Orientada a Objetos(Java)Profa. Flvia Cristina Bernardini

TpicosAtributos e Mtodos Estticos Encapsulamento e Acessibilidade

MotivaoExemplo: game com marcianos e outras criaturas

MotivaoExemplo: game com marcianos e outras criaturas

MotivaoExemplo: game com marcianos e outras criaturas

MotivaoExemplo: game com marcianos e outras criaturas

MotivaoExemplo: game com marcianos e outras criaturas

MotivaoExemplo: game com marcianos e outras criaturas Os marcianos s ficam corajosos quando esto em cinco ou mais... Assim, precisam saber quantas instncias da classe marciano esto instanciadas

Atributos estticos (static)Cada objeto possui uma cpia de todas as variveis da classe Em alguns casos, necessrio que apenas uma cpia de uma varivel em particular seja compartilhada por todos os objetos (instncias) da classe Nesses casos, usa-se uma varivel (atributo) static, que representa informaes de escopo de classe

Atributos estticos (static)Declara-se:private static int contMarcianos = 0;

contMarcianos uma varivel de classe, no uma varivel de instncia (objeto) Cada instncia de marciano pode ver contMarcianos como se ele fosse uma varivel de instncia da classe marciano, mas... Somente uma cpia de contMarcianos mantida!!

Componente esttica de classeAtributos estticos tm escopo de classe Componentes (atributos ou mtodos) public static de uma classe:acessados.

Ex:Math.PI; Math.abs(num);

Componente esttica de classeComponentes estticos privados (private static) somente podem ser acessados por mtodos da classe

Componente esttica de classeIMPORTANTE: Mtodos no-estticos podem acessar atributos e classes estticos, MAS... Mtodos estticos NO PODEM acessar atributos e mtodos no-estticos

Classe Objeto 2

Objeto 1

variveis e mtodos da classe Classe Objeto 2 variveis do objeto 2 Objeto 1 variveis do objeto 1

variveis e mtodos da classe Classe Objeto 2 variveis do objeto 2

X

Objeto 1 variveis do objeto 1

X

variveis e mtodos da classe Classe Objeto 2 variveis do objeto 2

X X

Objeto 1 variveis do objeto 1

X X

variveis e mtodos da classe Classe

X XObjeto 1 variveis do objeto 1

Objeto 2 variveis do objeto 2

X X

X X

variveis e mtodos da classe Classe

Ao chamar um mtodo esttico sem nenhum objeto instanciado, se esse mtodo fizer referncia a algum atributo (ou mtodo) de objeto (que s est inicializada quando h uma instncia da classe), h um ERRO! ERRO DE COMPILAO