• Keine Ergebnisse gefunden

Abstrakte Klassen und Methoden

N/A
N/A
Protected

Academic year: 2022

Aktie "Abstrakte Klassen und Methoden"

Copied!
3
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Page 1

Abstrakte

Klassen und Methoden

Abstrakte Klassen und Methoden

• Jede Klasse mit abstract-Methoden muss selbst als abstract deklariert sein.

• Von abstrakten Klassen können KEINE Objekte erzeugt werden.

Klassen mit Methoden ohne Implementierung ('body')

abstract class Benchmark {

abstract void benchmark(); // nur Signatur public final long repeat (int count) {

long start = System.currentTimeMillis();

for ( int i = 0; i < count ; i++) benchmark();

return ( System.currentTimeMillis() - start );

} }

(2)

Page 2

Unterklassen einer abstrakten Klasse

Jede Unterklasse muss die abstrakten Methoden der abstrakten Überklasse implementieren!

class TestBenchmark extends Benchmark{

void benchmark() { // macht nichts nur

} // Methodenaufruf

public static void main(String[] args ) { int count = Integer.parseInt(args[0]);

long time = new TestBenchmark().repeat(count) System.out.println(count + " method calls in " + time + " Milliseconds" );

} }

Interfaces

(3)

Page 3

Interface, die 'Abstraktion' einer abstrakten Klasse

• Alle Methoden sind automatisch public .

• Von einem interface können KEINE Objekte erzeugt werden.

• Nur static und final Feldvariablen sind erlaubt.

Wenn in einer "Klasse" KEINE Methode implementiert ist, wird sie als interface "Schnittstelle" bezeichnet.

public interface GraphicalComponent {

void draw(); // nur Signatur void rotate(int deg); // nur Signatur void fill(int pattern); // nur Signatur }

Verwendung von Interface

• eine Klasse kann gleichzeitig mehrere Interfaces implementieren class MyClass implements A, B

(Mehrfachvererbung bei Klassen in Java nicht erlaubt.)

mit implements kann eine Klasse von einem Interface gebildet werden

public class Triangle implements GraphicalComponent { void draw() { ....}

void rotate(int deg) { ....}

void fill(int pattern) { ....}

}

abstract oder interface?

wenn keine Methode implementiert werden soll, ist interface zu bevorzugen.

Referenzen

ÄHNLICHE DOKUMENTE

[r]

Shreiben Sie ein Programm geld., welhes vershiedene Geldanlagen einliest und dann an-.. hand der Benutzereingaben die beste verfügbare Geldanlage (inklusive der Geldsumme

1) Die persisclien Monatsnamen Bagayädi, für dessen Länge Spiegel (s. v.) keinen Grund sieht, und Äthfiyädiya sind auch mit viddhi gebildet von baga- yadä oder bagayäd; es ist

kis als Umbildung von ki scheitert daran, daß in diesem Fall auch andere wortscbließende k{i) zu kis hätten werden mUssen. Übrigens bleiben für den, der dieses ki-s anders

nimmt, daß es sie zerbricht oder zerschmettert. Gar nicht einleuchtend aber ist es, wenn auch ürmibhib plnvamänab sich auf das „rötliche Roß&#34;. beziehen soll. Oij)enbebo's

&#34;Ich möchte Dich nicht verwunde(r)n mit einer Behauptung und doch kann ich sie nicht vermeiden: Ich glaube es Euch nimmermehr, selbst wenn ihr es glaubt, daß die Kindermärchen

[r]

In der &#34;alpha&#34; wurden eine Vielzahl von Arbeiten über die Geschichte der Mathematik veröffentlicht.. Die im folgenden chronologisch aufgelisteten, mathematikhistorischen