Unterschiede zwischen Konstruktor, Methode und Attributen?

1 Antwort

Nehmen wir an, wir hätten eine Klasse. Zum Beispiel die Klasse "Kreis".

Attribute sind die Daten, die ein Objekt der Klasse besitzt. Bei einem Kreis könnten das z.B. Radius, Position und Flächeninhalt sein.

Ein Konstruktor wird beim Erschaffen eines Objekts aufgerufen. Anders ausgedrückt: Kein Objekt wird erschaffen, ohne durch einen Konstruktor zu laufen, also passiert das jedes mal, wenn du ein Objekt mit "new" erschaffst. Für gewöhnlich verwendet man Konstruktoren, um dem Objekt seine Start-Attribute mitzugeben. Ein einzelnes Objekt läuft auch nur einmal durch einen Konstruktor und dann nie wieder.

Eine Methode ist etwas, das das Objekt "ausführen" kann. Ein Kreis zum Beispiel könnte eine Methode "Grow()" haben, die es dem Kreis erlaubt, seinen Radius zu erhöhen. Oder eine Methode "Roll()", die es dem Kreis ermöglicht, sich fortzubewegen.

Allgemein hätte man gerne, dass die Attribute des Kreises möglichst nur durch seine eigenen Methoden verändert werden können, weil das bei größeren Projekten dafür sorgt, dass der Code übersichtlicher und fehlerresistenter wird (es ist dann leichter, auf "Konsistenz" zu achten). Das ist natürlich nicht immer ohne weiteres möglich, aber es ist etwas, das du möglichst früh trainieren solltest ;)