Duvida de iniciante!

5 respostas
M

Pessoal, hoje tive minha aula sobre constructors e aprendi sobre atributos.
Gostaria de saber, qual a diferenca entre um atributo e uma variavel?
Eu sei que os atributos sao private, mas alem disso, qual a vantagem de usar um em vez de usar o outro?

Obrigado
Paulo Choi

5 Respostas

caiofilipini

Um atributo também é uma variável. A diferença é que, em Programação Orientada a Objetos, uma variável que define qualquer característica de uma futura instância de determinada classe é chamada de atributo, justamente porque ela representa alguma coisa no contexto daquela instância, e não é apenas um valor isolado.

Um atributo não precisa necessariamente ser private, mas isso é uma prática altamente recomendada. :wink:

[]'s

A

Acrescentando:

Um variável quando é local (ou seja, é definida dentro de um método, portanto somente visível dentro dele), não é um atributo.

danieldestro

Oi Paulo,

Atributos não são apenas private, mas podem ser. Na verdade você pode usar o modificador que quiser (public, private, default, protected).

Os atributos, se não forem estáticos, têm o escopo da instância da classe, ou seja, será acessível de qq ponto da instância da classe, ou fora dela.

Já variáveis locais têm acesso somente em seu escopo.

Atributos de classe nada mais são do que variáveis (ou constantes) com escopo da instância da classe.

Os atributos estáticos já têm o escopo da classe.

Exemplo:

public class SuaClasse {

  private String atributo1;
  public String atributo2;
  public static String atributo3;

  public void testar( ) {
    atributo1 = "here is fine";
    atributo2 = "here is fine";
    atributo3 = "here is fine";
  }
}

public class Teste {
  public static void main( String args[] ) {
    SuaClasse c = new SuaClasse();
    c.testar();
    c.atributo2 = "here is fine too";
    SuaClasse.atributo3 = "here is fine too";
  }
}
M

muito obrigado pessoal, ajuda de voces foi muito util
que bom que sempre posso contar com o pessoal do GUJ!! Espero um dia ter a sabedoria de voces e ajudar outros iniciantes tambem.

danieldestro

É isso ai meu caro,
só a prática leva à “perfeição”.

Criado 27 de outubro de 2003
Ultima resposta 27 de out. de 2003
Respostas 5
Participantes 4