# Was sind Attribute?



## Telefonpalme (24. Mai 2008)

Hallo,

sind Attribute = Variablen? In meinem Buch ist leider kein Codestück mit Beispielen drin. 

Danke


----------



## xote (24. Mai 2008)

Worum gehts in dem Buch?


----------



## 0001001 (24. Mai 2008)

Normalerweise bezeichnet das Wort Attribut eine Eigenschaft einer Klasse
Hast du beispielsweise die Klasse Person mit der Variablen name dann bezeichnet 

```
public class Person{
	String name;
}
```

dann ist der name eine Eigenschaft der Klasse Person.


----------



## Telefonpalme (24. Mai 2008)

Danke, 0001001

Ist der Name(der String) mit dem ich die Variable name initialisiere dann das Attribut (die Eigenschaft) oder die Variable name selbst?


----------



## 0001001 (24. Mai 2008)

name ist das Attribut und String der Typ den das Attribut besitzt. die Variable name ist das Attribut und wenn du dann name mit "Georg" initialisierst dann ist das der Wert den das Attribut besitzt


----------



## Telefonpalme (24. Mai 2008)

Also stimmt es dann, dass Attribut ein anderes Wort für Variable ist? Denn name ist doch auch die Variable, oder?


----------



## 0001001 (24. Mai 2008)

Ein Attribut ist eine Variable ja. Aber nicht jede Variable ist ein Attribut. 

```
public class Person{
	String name;
	
	public void addiere(int a, int b){
		int summe = a + b;
		System.out.println(summe);
	}
}
```

summe ist kein Attribut von Person.


----------



## Telefonpalme (24. Mai 2008)

Achso, Attribute sind also Variablen von Klassen oder Instanzen(=Objekte)?


----------



## 0001001 (24. Mai 2008)

IMHO sind Attribute Variablen der Klasse. Das eine Instanz dieser Klasse auch die Attribute besitzt ist klar. 

Ob das exakt richtig ist soll aber lieber nochmal jemand hier bestätigen.


----------



## maki (24. Mai 2008)

Attribute sind INstanzvariablen (Objekvariablen).
Klassenvariablen (und -methoden) sind static, sie hängen nicht vn einem Objekt ab, sondern von der Klasse.

Eigenschaften (Properties) werden von Objekten durch Methoden bereitgestellt, in Java gibt es die Konvention, sie getXXX und setXXX zu nennen, zB. stellen die Methoden getName() und setName(String name) die read/write Property name dar.


----------

