OOP

Aus FI-Wiki

Objektorientierte Programmierung (OOP) in Java

Die objektorientierte Programmierung ist ein Paradigma, das Programme auf Basis von Objekten strukturiert. Java ist eine vollständig objektorientierte Sprache (mit Ausnahme der primitiven Datentypen).

---

Klassen und Objekte

Eine Klasse ist eine Vorlage (Bauplan) für Objekte. Ein Objekt ist eine Instanz dieser Klasse.

public class Auto {
    String marke;
    int baujahr;


public void starten() {
    System.out.println("Motor startet");
}

}

Objekterzeugung:

Auto meinAuto = new Auto();
meinAuto.marke = "VW";
meinAuto.baujahr = 2022;
meinAuto.starten();

---

Attribute und Methoden

  • **Attribute** (Felder): Eigenschaften eines Objekts
  • **Methoden**: Verhalten eines Objekts

---

Konstruktoren

Ein Konstruktor initialisiert ein Objekt beim Erzeugen.

public class Auto {
    String marke;


public Auto(String marke) {
    this.marke = marke;
}


}

Aufruf:

Auto a = new Auto("BMW");


this-Referenz

`this` verweist auf das aktuelle Objekt:

this.marke = marke;


Kapselung (Encapsulation)

Attribute werden privat gemacht und über Getter/Setter kontrolliert.

public class Kunde {
    private String name;


public String getName() {
    return name;
}

public void setName(String n) {
    name = n;
}


}

---

Vererbung (Inheritance)

Eine Klasse kann von einer anderen erben:

public class Fahrzeug {
    int geschwindigkeit;
}

public class Auto extends Fahrzeug {
int tueranzahl;
}


Polymorphie

Ein Objekt kann mehrere Formen annehmen – z. B. durch Überschreiben (Overriding) von Methoden:

class Tier {
    public void geraeusch() {
        System.out.println("Ein Tier macht ein Geräusch");
    }
}

class Hund extends Tier {
public void geraeusch() {
System.out.println("Wuff!");
}
}

---

Abstrakte Klassen

Dienen als Basisklassen mit nicht vollständiger Implementierung:

abstract class Figur {
    abstract double berechneFlaeche();
}

---

Interfaces

Definieren nur die Methode, aber keine Implementierung:

interface Bewegbar {
    void bewege();
}

---

\=== Wichtige OOP-Prinzipien ===

  • Kapselung – Daten verbergen
  • Vererbung – Wiederverwendbarkeit
  • Polymorphie – Einheitliches Ansprechen unterschiedlicher Objekte
  • Abstraktion – Komplexität reduzieren

---