Programmieren_1/abstract.md

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 bei Sheep und Cow gleich sind müssen nicht abstrakt sein. Füge aber eine abstrakte Methode String makeNoise() ein. Ändere den Code and den richtigen Stellen ab.