Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| programmierung:programmier_paradigma [2024/07/03 15:34] – ↷ Page name changed from programmierung:objekt-orientierte_programmierung_oop to programmierung:programmier_paradigma swe | programmierung:programmier_paradigma [2025/12/20 14:53] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 19: | Line 19: | ||
| Die OOP ist besonders gut geeignet für komplexe Programme, die aktualisiert oder gewartet werden müssen. Sie basiert auf dem Konzept von Objekten, die Daten und den zugehörigen Code enthalten. | Die OOP ist besonders gut geeignet für komplexe Programme, die aktualisiert oder gewartet werden müssen. Sie basiert auf dem Konzept von Objekten, die Daten und den zugehörigen Code enthalten. | ||
| - | ===== Beispielklasse '' | ||
| - | Hier findest du ein Beispiel. Wir implementieren eine Klasse '' | ||
| - | In unserem Beispiel haben wir die | ||
| - | * **Eigenschaften** Name und Alter und die | ||
| - | * **Aktion** bellen als wichtig erachtet und implementiert. | ||
| - | |||
| - | Diese Eigenschaften oder '' | ||
| - | |||
| - | Wann immer wir die Klasse '' | ||
| - | |||
| - | Kümmer dich zunächst nicht um Begriffe wie '' | ||
| - | |||
| - | <code Java [enable_line_numbers=" | ||
| - | // Beispiel einer einfachen Klasse in OOP (Java) mit Getter- und Setter-Methoden | ||
| - | |||
| - | public class Hund { | ||
| - | // Attribute | ||
| - | private String name; | ||
| - | private int alter; | ||
| - | |||
| - | // Konstruktor | ||
| - | public Hund(String name, int alter) { | ||
| - | this.name = name; | ||
| - | this.alter = alter; | ||
| - | } | ||
| - | |||
| - | // Getter-Methode für den Namen | ||
| - | public String getName() { | ||
| - | return name; | ||
| - | } | ||
| - | |||
| - | // Setter-Methode für den Namen | ||
| - | public void setName(String name) { | ||
| - | this.name = name; | ||
| - | } | ||
| - | |||
| - | // Getter-Methode für das Alter | ||
| - | public int getAlter() { | ||
| - | return alter; | ||
| - | } | ||
| - | |||
| - | // Setter-Methode für das Alter | ||
| - | public void setAlter(int alter) { | ||
| - | this.alter = alter; | ||
| - | } | ||
| - | | ||
| - | // Methoden | ||
| - | public void bellen() { | ||
| - | System.out.println(name + " sagt: Wuff!" | ||
| - | } | ||
| - | |||
| - | public static void main(String[] args) { | ||
| - | Hund meinHund = new Hund(" | ||
| - | System.out.println(" | ||
| - | System.out.println(" | ||
| - | meinHund.bellen(); | ||
| - | } | ||
| - | } | ||
| - | |||
| - | |||
| - | </ | ||
| - | |||
| - | |||
| - | ===== 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 ('' | ||
| - | |||
| - | <code Java [enable_line_numbers=" | ||
| - | 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 '' | ||
| - | |||
| - | Diese Variable '' | ||
| - | ----> | ||
| - | <code Java [enable_line_numbers=" | ||
| - | 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 '' | ||
| - | |||
| - | Diese weisen wir bsp. in Zeile 13 zu: Hier bekommt das Objekt '' | ||
| - | |||
| - | **Spoiler: | ||
| - | ----> | ||
| - | <code Java [enable_line_numbers=" | ||
| - | 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 '' | ||
| - | |||
| - | <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 '' | ||
| - | |||
| - | <code Java [enable_line_numbers=" | ||
| - | 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(); | ||
| - | } | ||
| - | } | ||
| - | |||
| - | |||
| - | </ | ||