OOP: Unterschied zwischen den Versionen

Aus FI-Wiki
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
== Objektorientierte Programmierung (OOP) in Java ==
== 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).
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).


---
---

Version vom 2. Juni 2025, 09:39 Uhr

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

---