## Beispielklasse Hund Hier findest du ein Beispiel. Wir implementieren eine Klasse `Hund`. Diese Klasse soll "den Hund", wie er in der Welt vorkommt beschreiben. Dabei geht es nicht darum, mit der Klasse einen speziellen Hund, der bei mir auf dem Sofa liegt zu beschreiben. Es geht vielmehr darum, viele **Eigenschaften** und **Aktionen**, die das [Hund-Sein]{.underline} ausmachen, zu beschreiben. In unserem Beispiel haben wir die - **Eigenschaften** Name und Alter und die - **Aktion** bellen als wichtig erachtet und implementiert. Diese Eigenschaften oder `Attribute` und Aktionen oder `Methoden` sind so universal für alle Hunde, dass wir sie in den Bauplan für Hunde einbauen. Wann immer wir die Klasse `Hund` zur Hand nehmen, können wir aus dieser Blaupause jeweils konkrete Hunde erzeugen, die diese Eigenschaften besitzen. Denke bei der Benutzung einer Klasse an eine Copy&Paste-Aktion: Ein einmal generiertes Objekt wird wieder und wieder eingefügt. Kümmer dich zunächst nicht um Begriffe wie `Konstruktor`, `Getter` und `Setter`. Wir werden auf den folgenden Seiten Step by Step diese Begriffe einführen. ``` Java // 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("Bello", 2); System.out.println("Der Name meines Hundes ist " + meinHund.getName() + "."); System.out.println("Mein Hund ist " + meinHund.getAlter() + " Jahre alt."); meinHund.bellen(); } } ```