11 Objektorientierte Programmierung in Java: Klassen und Objekte

11.1 Klassen-Definition

Eine Klasse ist ein Bauplan für Objekte und definiert Eigenschaften (Attribute) und Verhaltensweisen (Methoden).

11.1.1 Einfache Klassen-Definition

public class Dog {
    // Attribute
    String name;
    int age;

    // Methoden
    void bark() {
        System.out.println("Woof, woof!");
    }
}

11.1.2 Klassen-Definition mit Konstruktor

public class Dog {
    String name;
    int age;

    // Konstruktor
    public Dog(String name, int age) {
        this.name = name;
        this.age = age;
    }

    void bark() {
        System.out.println("Woof, woof!");
    }
}

11.2 Objekt-Instanziierung

Ein Objekt ist eine Instanz einer Klasse und wird mit dem new-Schlüsselwort erstellt.

11.2.1 Einfache Objekt-Instanziierung

Dog myDog = new Dog();

11.2.2 Objekt-Instanziierung mit Konstruktor

Dog myDog = new Dog("Rex", 5);

11.2.3 Zugriff auf Attribute und Methoden

myDog.name = "Rex";
myDog.age = 5;
myDog.bark();  // Ausgabe: "Woof, woof!"

Die objektorientierte Programmierung ermöglicht die Organisation von Code in einer strukturierten und wiederverwendbaren Weise. Klassen und Objekte sind die Hauptkonzepte der objektorientierten Programmierung und bieten Mechanismen für Vererbung, Polymorphie und Kapselung. Sie bilden die Grundlage für die meisten modernen Softwareprojekte und sind ein Kernkonzept in der Java-Programmierung.