1.2 KiB
1.2 KiB
Abstrakte Methoden
Eine Methode ohne Implementation
abstract double getArea();
Abstrakte Methoden
Eine Klasse mit mindestens einer abstrakten Methode muss abstrakt sein
Es können keine Objekte einer abstrakten Klasse erzeugt werden
abstract class Shape {
abstract double getArea();
String toString() {
return "Shape";
}
Es können keine Objekte einer abstrakten Klasse erzeugt werden, jedoch Variablen dieser ein Objekt einer nicht abstrakten Subklasse aufnehmen:
class Circle extends Shape {
private double radius;
Circle(int rad) {radius = rad; }
double getArea(){
return 3.14 * radius * radius;
}
}
//Shape shape1 = newCircle(4);
//System.out.printf("%.2f", shape1.getArea());
Übung
- Ändere die Klasse
Animal
zu einer abstrakten Klasse. Alle Methoden die beiSheep
undCow
gleich sind müssen nicht abstrakt sein. Füge aber eine abstrakte MethodeString makeNoise()
ein. Ändere den Code and den richtigen Stellen ab.