Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| programmierung:klassen:klassen:steps [2025/05/01 13:32] – swe | programmierung:klassen:klassen:steps [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ## Step 1: Erzeugen der Klasse | ||
| - | |||
| - | Lass uns zunächst die Klasse vereinfachen und all die noch unbekannten | ||
| - | Konzepte entfernen. | ||
| - | |||
| - | Übrig bleibt eine aufgeräumte Klasse mit zwei Attributen (`name` und | ||
| - | `alter`) sowie einer Methode `bellen`. | ||
| - | |||
| - | ``` Java | ||
| - | public class Hund { | ||
| - | // Attribute | ||
| - | String name; | ||
| - | int alter; | ||
| - | | ||
| - | // Methoden | ||
| - | void bellen() { | ||
| - | System.out.println(name + " sagt: Wuff!" | ||
| - | } | ||
| - | |||
| - | public static void main(String[] args) { | ||
| - | Hund meinHund = new Hund(); | ||
| - | meinHund.name = " | ||
| - | meinHund.bellen(); | ||
| - | } | ||
| - | } | ||
| - | |||
| - | |||
| - | ``` | ||
| - | |||
| - | |||
| - | |||
| - | ## Step 2: Erzeugen eines Objekts | ||
| - | |||
| - | Wir können nun ein **Objekt (Instanz) der Klasse Hund erzeugen**. | ||
| - | |||
| - | Analog zur Vorgehensweise bei der Deklaration und Initialisierung von | ||
| - | Variablen, bsp. einer Ganzzahlt `int x = 5`, erzeugen wir eine Variable | ||
| - | `meinHund`. | ||
| - | |||
| - | Diese Variable `meinHund` hat als Datentyp die Klasse `Hund` und wir | ||
| - | initialisieren die Variable, indem wir ein neues Objekt der Klasse | ||
| - | erzeugen: `new Hund()`. | ||
| - | |||
| - | ``` Java | ||
| - | public class Hund { | ||
| - | // Attribute | ||
| - | String name; | ||
| - | int alter; | ||
| - | | ||
| - | // Methoden | ||
| - | void bellen() { | ||
| - | System.out.println(name + " sagt: Wuff!" | ||
| - | } | ||
| - | |||
| - | public static void main(String[] args) { | ||
| - | Hund meinHund = new Hund(); | ||
| - | meinHund.name = " | ||
| - | meinHund.bellen(); | ||
| - | } | ||
| - | } | ||
| - | |||
| - | |||
| - | ``` | ||
| - | |||
| - | |||
| - | |||
| - | ## Step 3: Zuweisung von Werten an die Attribute | ||
| - | |||
| - | Nun haben wir ein Objekt `meinHund`, das alle Eigenschaften der Klasse | ||
| - | `Hund` als Anlage in sich trägt. Allerdings fehlen noch konkrete Werte. | ||
| - | |||
| - | Diese weisen wir bsp. in Zeile 13 zu: Hier bekommt das Objekt `meinHund` | ||
| - | den spezifischen Namen " | ||
| - | |||
| - | **Spoiler: | ||
| - | werden über sog. `Setter` oder gleich über `Konstruktoren` die Werte | ||
| - | zuweisen. Aber für den Augenblick klappt das auch so und es ist auch | ||
| - | kein Code, den der Java-Compiler ablehnt. | ||
| - | |||
| - | ``` Java | ||
| - | public class Hund { | ||
| - | // Attribute | ||
| - | String name; | ||
| - | int alter; | ||
| - | | ||
| - | // Methoden | ||
| - | void bellen() { | ||
| - | System.out.println(name + " sagt: Wuff!" | ||
| - | } | ||
| - | |||
| - | public static void main(String[] args) { | ||
| - | Hund meinHund = new Hund(); | ||
| - | meinHund.name = " | ||
| - | meinHund.bellen(); | ||
| - | } | ||
| - | } | ||
| - | |||
| - | |||
| - | ``` | ||
| - | |||
| - | |||
| - | |||
| - | ## Step 4: Ausführen einer Methode | ||
| - | |||
| - | Nun, da wir ein Objekt der Klasse `Hund` mit richtigem, echten | ||
| - | Hundenamen haben, können wir die Klassenmethode `bellen` von unserem | ||
| - | Hund `meinHund` ausführen lassen. Weniger verdreht ausgedrückt lassen | ||
| - | wir unseren Hund bellen und es wird uns auch gleich mit geliefert, wie | ||
| - | der Hund denn heißt. | ||
| - | |||
| - | \<wrap hi\>Es geht hier wohlgemerkt nicht darum, wie der Variablenname | ||
| - | des erzeugten Objekts lautet. Es geht darum, wie der konkrete Name des | ||
| - | erzeugten Objekts `meinHund` lautet.\</ | ||
| - | |||
| - | ``` Java | ||
| - | public class Hund { | ||
| - | // Attribute | ||
| - | String name; | ||
| - | int alter; | ||
| - | | ||
| - | // Methoden | ||
| - | void bellen() { | ||
| - | System.out.println(name + " sagt: Wuff!" | ||
| - | } | ||
| - | |||
| - | public static void main(String[] args) { | ||
| - | Hund meinHund = new Hund(); | ||
| - | meinHund.name = " | ||
| - | meinHund.bellen(); | ||
| - | } | ||
| - | } | ||
| - | |||
| - | |||
| - | ``` | ||