Auf Thema antworten

Jein die API kapselt normalerweise Funktionalität.

Die Java Implementierung ist dann quasi die Grafikkarte (es gibt Implementierungen von IBM, SUN, das OpenJDK usw - selbst die SUN Implementierungen unterscheiden sich je nach Betriebssystem intern) und die Standard-API gibt dir nach außen hin (dein Programm) eine feste Funktionalität. Wie diese erreicht wird ist dabei in erster Linie egal.


Ob Java, wenn du ein Fenster haben willst, auf GTK (unter Gnome) oder QT (unter KDE) oder das Windows API zurückgreift um dieses zu zeichnen ist dir egal, du willst nur das Fenster, und dass es sich so verhält wie du es erwartest. Das erreichst du halt in dem du eine Funktion "createWindow" an den Programmierer frei gibst (in diesem Fall die API) und die spezifischen Implementierungen dahinter versteckst.


Eine API kann groß sein, wie bei der Java Standard-API, kann aber auch klein sein, z.B. für einen Dateireader wo im Hintergrund durch mehrere Implementierungen unterschiedliche Dateiformate eingelesen werden. Letzteres ist z.B. bei ImageReadern der Fall. Vorne kommt immer ein Image raus, hinten ließt er aber mal JPEG, mal GIF oder BMP oder oder oder.



Oben