API? Java Beans? Was ist das?

  • Themenstarter Themenstarter Martin24
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
M

Martin24

Gast
Hallo,

ich habe wohl leider eine sehr beschämende Frage, aber ich muss sie mal loswerden, denn sonst brauch ich
gar nicht weitermachen.

Könnte mir mal bitte wer erklären was genau API ist? Was macht das oder was ist das?
Bitte nicht im Fachchinesisch, sonst versteh ich es wohl wieder nicht. 😳

Danke schon im Voraus!

Gruß
Martin
 
Guck sie dir an, hier.

Die API ist ein Dokument, welches jede Klasse und jede Methode die man Standardmässig verwenden kann aufführt.

(Edit: ok, eigentlich ist die API die Klassen und die Interfaces selbst. Aber man sagt oft "guck in die API" und meint damit dieses Dokument)
 
http://de.wikipedia.org/wiki/Application_Programming_Interface

Ist in voller Allgemeinheit schwer zu sagen, oft ist es einfach

"die von aussen sichtbare und nutzbare" "Programmierschnittstelle" eines "Moduls" bzw. einer "Komponente"

wenn du die normale Sun API Doc anschaust, dann siehst du da drin eben einfach nur die "möglichen" Funktionen, die dir von der Java-Standard-Bibliothek angeboten werden
Code:
java.lang.String#public int length()
anderes Beispiel: Windows enthält einen Funktionsaufruf namens Beep, in der API Dokumentation steht der dann so drin:
Code:
BOOL Beep(
  DWORD dwFreq,
  DWORD dwDuration
);
in der API, der einen Beep macht wenn er aufgerufen wird

APIs sind (meistens) einfach Sammlungen von Funktionsaufrufen bzw. Methodensignaturen, die man dann von einem eigenen Programm aus "nutzen" kann

Wichtig vor allem: als "Anwender" von "Aussen" ist es völlig egal, was "in Wirklichkeit passiert"
 
Genau! So kenne ich das auch...
Oft wird auch gern kurz API gesagt, aber die API-Dokumentation, also das was Beni gelinkt hat, gemeint.
 
Ah ok. Das mit der API-Doku hab ich jetzt kapiert.

Aber was ist dann gemeint, wenn nicht die Doku gemeint ist?
 
Das, was Bleinglanz so gut erklärt hat. 🙂
Kurz und einfach gesagt, ist eine API das, was der Programmierer zum Programmieren benutzt. Meist eine oder mehrere Bibliotheken, also eine Sammlung von vorgefertigten Klassen. Damit muss nicht jedesmal das Rad neu erfunden werden, sondern man kann auf stabile und getestete Objekte zurückgreifen.
Schau dir ruhig mal den Wikipedia-Link an, den er gepostet hat.
 
Ah, also ist z.B.

Thread.sleep(10) also die sleep()-Funktion eine API?

Also so bereits bestehende Funktionen?
Dachte das wären Beans?
 
Nein. 🙂
Die Methode sleep() aus der Klasse Thread ist eine Funktion, die dazu benutzt wird, einen Thread "schlafen" zu legen, also für den angegebenen Zeitraum pausieren zu lassen.
Während dieser Zeit gibt grob gesagt das Programm, welches die Methode gerade ausführt, die Rechenzeit der CPU an andere Programme ab.
Aber: die Klasse Thread ist ein Bestandteil der Standard-Java-API.
Ich hatte vorhin gesagt: "Meist eine oder mehrere Bibliotheken, also eine Sammlung von vorgefertigten Klassen."

Java-Beans sind wieder etwas anderes, die aber auch in einer eigenen API stecken.
 
ACHSO! Ich glaub jetzt hab ichs.

Also ist zum Beispiel Thread ein Teil der API oder GregorianCalendar, oder String diese ganzen Dinge die ich definieren kann?

Und API heißt einfach das komplette "Dach" darüber das alle unter diesen Namen vereint?
 
Ja, so könnte man es sagen.
Alle von dir angesprochenen Klassen liegen bspw. in der Standard-Java-API (ziemlich mächtige Bibliothek), also einer Standard-Schnittstelle zum Programmieren mit Java, die von Sun entwickelt wird.
 
Sorry, wenn ich auf diesem Gebiet etwas Begriffsstutzig bin. Aber mir geben meist diese "offiziellen Erläuterungen" immer nicht wirklich den Durchblick.

Großes Dankeschön für die Erklärungen.

Es klingt zwar etwas komisch, aber ich dachte das wären Beans. Nun stellt sich die Frage was sind dann Beans?
 
Java Beans beschreiben im Prinzip die Softwareentwicklung mittels Komponententechnologie.
Das heißt, dass ein Programm aus verschiedenen Teilanwendungen besteht, die über "genormte" Schnittstellen miteinander interagieren. Zur Laufzeit können weitere Beans eingebunden und sofort benutzt werden.
JavaBeans finden sehr häufig Anwendung bei der Programmierung von Benutzerschnittstellen, also GUIs.
 
Nochmals danke. Ich denke jetzt hab ichs! 🙂

Zeit ist es auch geworden.

Klasse Forum! Schnelle und gute Hilfe! Was will man mehr!?
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben