- 4 Abschnitte
- 15 Lektionen
- Um den Kurs in deinem Profil zu hinterlegen klicke oben auf Starten
- Einführung in Java4
- Java für Anfänger4
- Objektorientierte Grundlagen5
- Übungen & Test3
Aufgaben
Aufgabe 1 – Grundlagen von Klassen und Objekten
Erkläre in eigenen Worten den Unterschied zwischen Klasse und Objekt.
Was passiert im Speicher, wenn du folgenden Code ausführst?
Hund h1 = new Hund();
h1.name = "Ava";
h1.alter = 4;
3. Was ist eine Methode, und wofür wird sie in einer Klasse verwendet?
4. Warum sollte man Objekte mit new erzeugen?
Aufgabe 2 – Konstruktoren und this
Ergänze folgende Klasse um einen parametrisierten Konstruktor:
public class Auto {
String marke;
int baujahr;
// Konstruktor hier ergänzen
}
Der Konstruktor soll die beiden Felder beim Erzeugen setzen.
2. Warum ist this.name = name; notwendig, wenn ein Parameter denselben Namen wie ein Attribut hat
3. Erkläre den Unterschied zwischen
this.name = name;
und
name = name;
5. Ergänze:
public Hund() {
this("Unbekannt", 0);
}
→ Was passiert, wenn dieser Konstruktor aufgerufen wird?
Aufgabe 3 – Kapselung und Zugriffskontrolle
Erkläre den Unterschied zwischen
publicundprivateFeldern.Warum ist es sinnvoll, Felder privat zu machen?
Ergänze folgende Klasse mit Getter und Setter, die den Zugriff steuern:
public class Konto {
private double kontostand;
}
Der Setter soll verhindern, dass ein negativer Kontostand entsteht.
4. Wie lautet der Fachbegriff für das Prinzip, Daten zu verstecken und nur über Methoden zugänglich zu machen?
5. Was passiert, wenn du versuchst, auf ein private-Attribut aus einer anderen Klasse zuzugreifen?
Aufgabe 4 – Vererbung und Polymorphie
Was bedeutet das Schlüsselwort
extends?Was wird in folgendem Beispiel ausgegeben – und warum?
class Tier {
void laut() { System.out.println("Tier macht Geräusch."); }
}
class Hund extends Tier {
void laut() { System.out.println("Hund bellt."); }
}
public class Main {
public static void main(String[] args) {
Tier t = new Hund();
t.laut();
}
}
3. Erkläre den Unterschied zwischen Überschreiben (override) und Überladen (overload).
4. Was passiert beim Erzeugen eines Objekts einer Unterklasse mit Konstruktoren?
In welcher Reihenfolge werden Eltern- und Kindklasse initialisiert?
5. Ergänze:
class Katze extends Tier {
void essen() {
super.essen();
System.out.println("Katze schleckt Pfote.");
}
}
→ Was bewirkt
super.essen()hier?
Aufgabe 5 – Fehlerbehandlung mit Exceptions
Was passiert, wenn in Java eine unchecked Exception auftritt und sie nicht behandelt wird?
Erkläre die Bedeutung der Schlüsselwörter
try,catchundfinally.Was ist der Unterschied zwischen einer checked und einer unchecked Exception?
Vervollständige den Code
try {
int ergebnis = 10 / 0;
} catch (________ e) {
System.out.println("Division durch 0!");
}
5. Schreibe eine Methode abheben(double betrag),
die eine eigene Exception ZuWenigGuthabenException wirft,
wenn der Betrag größer als der aktuelle Kontostand ist.
Aufgabe 6 – Anwendungsaufgabe (Mini-Projekt)
Erstelle ein Programm mit folgenden Anforderungen:
Klasse
Fahrzeug:private Attribute
marke(String) undgeschwindigkeit(int)Methode
beschleunigen(int wert)– erhöht die GeschwindigkeitGetter/Setter mit Plausibilitätsprüfung (keine negativen Werte)
Klasse
Autoerbt vonFahrzeug:überschreibt die Methode
beschleunigen(), sodass sie zusätzlich"Motor brummt!"ausgibt
Klasse
Fahrraderbt ebenfalls vonFahrzeug:überschreibt
beschleunigen(), sodass"Tritt in die Pedale!"ausgegeben wird
Im
main():Erzeuge ein
Autound einFahrradBeschleunige beide unterschiedlich
Gib die Ergebnisse auf der Konsole aus
