Abstrakte Klassen: Unterschied zwischen den Versionen
Aus FI-Wiki
Die Seite wurde neu angelegt: „== Abstrakte Klassen == Abstrakte Klassen dienen als allgemeine Oberklassen und können nicht direkt instanziiert werden. Sie enthalten oft gemeinsame Implementierungen sowie abstrakte Methoden, die von Unterklassen konkret definiert werden müssen. === Eigenschaften === * Mit dem Schlüsselwort '''abstract''' gekennzeichnet * Können konkrete (implementierte) und abstrakte (nicht implementierte) Methoden enthalten * Dürfen nicht instanziiert werden (…“ |
|||
| Zeile 15: | Zeile 15: | ||
String farbe; | String farbe; | ||
// abstrakte Methode ohne Implementierung | public void setFarbe(String farbe) { | ||
abstract double berechneFlaeche(); | this.farbe = farbe; | ||
} | |||
// abstrakte Methode ohne Implementierung | |||
abstract double berechneFlaeche(); | |||
} </syntaxhighlight> | } </syntaxhighlight> | ||
Version vom 27. Oktober 2025, 15:37 Uhr
Abstrakte Klassen
Abstrakte Klassen dienen als allgemeine Oberklassen und können nicht direkt instanziiert werden. Sie enthalten oft gemeinsame Implementierungen sowie abstrakte Methoden, die von Unterklassen konkret definiert werden müssen.
Eigenschaften
- Mit dem Schlüsselwort abstract gekennzeichnet
- Können konkrete (implementierte) und abstrakte (nicht implementierte) Methoden enthalten
- Dürfen nicht instanziiert werden (kein new)
Beispiel
abstract class Figur {
String farbe;
public void setFarbe(String farbe) {
this.farbe = farbe;
}
// abstrakte Methode ohne Implementierung
abstract double berechneFlaeche();
}
Unterklasse muss Methode implementieren
class Kreis extends Figur {
double radius;
```
@Override
double berechneFlaeche() {
return Math.PI * radius * radius;
}
```
}
Verwendung
Figur f = new Kreis();
f.setFarbe("rot");
System.out.println(f.berechneFlaeche());
