Informatik

Klassen

Eine Klasse ist wie ein Bauplan für Objekte. Sie definiert, welche Eigenschaften (Attribute) und Fähigkeiten (Methoden) Objekte haben sollen, die nach diesem Bauplan erstellt werden.

Vergleich aus dem Alltag: Stell dir vor, eine Klasse ist wie ein Bauplan für ein Auto. Der Bauplan beschreibt, dass jedes Auto eine Farbe, eine Marke und eine Geschwindigkeit haben soll. Außerdem kann jedes Auto fahren, bremsen und hupen.

Nach diesem Bauplan können dann viele verschiedene Auto-Objekte gebaut werden: ein rotes BMW-Auto, ein blaues Mercedes-Auto, usw.

Aufbau einer Klasse

Eine Klasse besteht aus zwei Hauptteilen:

  • Attribute (Eigenschaften/Daten)
  • Methoden (Fähigkeiten/Funktionen)

Schauen wir uns eine einfache Klasse am Beispiel eines Autos an:

Aufgabe: Führe den Code aus und beobachte, was passiert. Experimentiere mit verschiedenen Werten!

Wichtige Begriffe

Konstruktor

Der Konstruktor ist eine spezielle Methode, die ausgeführt wird, wenn ein neues Objekt erstellt wird. Er hat immer den gleichen Namen wie die Klasse.

public Auto(String neueFarbe, String neueMarke) {
    farbe = neueFarbe;
    marke = neueMarke;
    geschwindigkeit = 0;
}

Private vs. Public

  • private: Nur innerhalb der gleichen Klasse sichtbar
  • public: Von überall aus sichtbar

Faustregel: Attribute sollten meist private sein, wichtige Methoden public. So schützt du deine Daten vor ungewollten Änderungen!

Übung: Klasse "Person"

Erstelle eine Klasse Person mit folgenden Eigenschaften:

Aufgabe: Schreibe eine Klasse Person mit:

  • Attributen: name (String), alter (int), groesse (double)
  • Konstruktor, der alle Attribute setzt
  • Methode stelleVor(): gibt "Hallo, ich bin [Name] und bin [Alter] Jahre alt" aus
  • Methode wachse(): erhöht die Größe um 0.1
public class Person {
    private String name;
    private int alter;
    private double groesse;
    
    public Person(String neuerName, int neuesAlter, double neueGroesse) {
        name = neuerName;
        alter = neuesAlter;
        groesse = neueGroesse;
    }
    
    public void stelleVor() {
        System.out.println("Hallo, ich bin " + name + " und bin " + alter + " Jahre alt");
    }
    
    public void wachse() {
        groesse = groesse + 0.1;
        System.out.println(name + " ist jetzt " + groesse + "m groß");
    }
}

Getter und Setter Methoden

Da Attribute meist private sind, brauchst du spezielle Methoden, um von außen auf sie zuzugreifen:

Teste-Dich-Projekt: Bankkonto

Aufgabe: Erstelle eine Klasse Bankkonto mit:

  • Attributen: kontoinhaber (String), kontostand (double)
  • Konstruktor mit Kontoinhaber (Kontostand startet bei 0)
  • Methode einzahlen(double betrag): erhöht den Kontostand
  • Methode abheben(double betrag): verringert den Kontostand (nur wenn genug Geld da ist)
  • Methode kontostandAnzeigen(): zeigt den aktuellen Kontostand

Testfälle

  • Einzahlen von 100,50€ → Kontostand: 100,50€
  • Abheben von 30,25€ → Kontostand: 70,25€
  • Abheben von 200€ → Fehlermeldung, Kontostand bleibt 70,25€

Erweitere deine Bankkonto-Klasse:

  • Füge ein Tageslimit für Abhebungen hinzu
  • Implementiere Zinsen, die täglich berechnet werden
  • Erstelle eine Historie der letzten Transaktionen
Klassen