Unterschied Parameter und Attribut?
Was ist in Java der Unterschied zwischen Parameter und Attribut?
4 Antworten
public class Thing {
public int a; //attribut
public void setA(int newA /*newA ist ein Parameter*/) {
this.a = newA;
}
//newA ist hier nichtmehr verwendbar, nur innerhalb der Klammern von setA
}
attribut:
class Person {
String name;
Person() {}
...
}
name wäre hier ein attribut. es ist die eigentschaft (membervariable) einer klasse.
parameter
void rename(String name) {
...
}
rename("Udo");
hier wäre "Udo" bzw name ein paramter, also der übergabewert einer funktion.
das ist der unterschied zwischen attribut und parameter
Attribute sind Eigenschaften. Gemeint sind hiermit natürlich Eigenschaften von Objekten.
Parameter parametrisieren einen Aufruf, d.h. sie steuern das Verhalten einer Methode in Abhängigkeit des übergebenen Argumentes.
So, das war jetzt vielleicht sehr technisch, nehmen wir mal ein Objekt, das einen Gegenstand abbilden soll. Ein Attribut könnte jetzt zum Beispiel die Farbe des Objektes (Gegenstandes) oder das Gewicht selbigens sein. Ein Methode könnte zum Beispiel bewegen heißen, um es im Raum zu verschieben.
Diese Methode bekommt den Parameter Richtung, um anzugeben in welche Richtung es (Objekt) verschoben werden soll. Beim Aufruf übergibst Du einen konkreten Vektor als Argument, der die Richtung (für diese konkrete Bewegung) festlegt.
Der Attributwert ist nichts anderes als der dem Attribut zugewiesene Wert.
Hätte mein Objekt ein Attribut Position vom Typ Tupel der Länge 3, dann wäre (3,0,10) ein möglicher Attributwert. Natürlich müßte ich irgendwie noch festlegen, welchen Punkt des Objektes ich damit beschreibe (Mittelpunkt böte sich an).
Bei einem typischen Setter wird aus dem Parameter des Aufrufs letztlich ein Attributwert.
Ein Parameter wird bei einem Unterprogramm- oder Konstruktoraufruf mitgegeben:
void einUnterprogramm( String parameter ){
...
}
Dieser wird aber nicht mehr referenzierbar, wenn das UP abgelaufen ist.
Attribute sind die Werte, die ein Objekt konstant hat, also als globale Variablen definiert sind.
So ungefähr, ich hoffe das hilft dir weiter
Ist dann der attributwert um wie viel der Gegenstand in eine Richtung verschoben wird?