Funktor

Status
Nicht offen für weitere Antworten.

Hazard

Neues Mitglied
Hallo

was bitte ist ein Funktor. Sieht irgendwie so aus als wäre es das gleich wie ein interface. Das kann aber nicht sein, oder??
Und wie erstelle ich so einen Funktor?

Vielen Dank

Hazard
 
B

Beni

Gast
Die Seite kennst Du? Google

z.B. der erste Eintrag:

Für die C++ -Programmierung wurde der Begriff vermutlich durch Coplien [4] populär gemacht, der Begriff wurde aber auch schon früher für jeweilige Zwecke in LISP, Smalltalk, Prolog und ML verwendet. In Haskell gibt es eine Standard-Klasse "Functor". Die C++ -Norm ISO/IEC 14882:1999(E) spricht allerdings immer nur von einem “function object ”. Auch in Java wird der Begriff für ein Objekt verwendet, dessen Hauptaufgabe es ist, eine bestimmte Operation zu implementieren—gelegentlich auch für eine entsprechende Schnittstelle.

Wenn mit „Funktor“ in einer Programmiersprache eine Entität gemeint ist, die dort nicht als Funktion gikt, aber in einer Anwendung syntaktisch wie eine Funktion verwendet werden kann (wie in C++ ), so ist diese Verwendung in Nähe zur Carnap schen Definition, denn ein solcher Funktor erscheint syntaktisch wie ein Funktionssymbol (obwohl man in C++ darin ein Exemplar einer Klasse sieht). Allerdings spricht man in C++ ,—im Gegensatz zuCarnap —auch dann von einem Funktor, wenn des Symbol wie ein Prädikat verwendet wird, jedoch nicht, wenn es wirklich für eine C++ -Funktion steht.
 

Hazard

Neues Mitglied
Natürlich kenn ich google und damit hab ich natürlich auch als erstes gesucht und unter anderem auch diese Antwort bekommen.
Wenn ich mir das jetzt aber durchlese wird der unterschied zwischen funktor und interface (mir jedenfalls) nicht klar.Vorallem weil in meinem Programm mit dem Interface alles super funktioniert aber wenn ich den Funktor einbauen will geht gar nichts!!

MFG
Andy
 
B

Beni

Gast
"Interface" Ist etwas ganz Java-speziefisches. Es hat eine genau Definition, es gibt ein Schlüsselwort, jeder Java-Programmierer wird dasselbe über ein Interface erzählen.

"Funktor" Ist etwas allgemeineres. Es bezeichnet einfach ein Objekt, das eine spezielle Funktion hat. (z.B. ein Sortieralgorithmus, der in einer Klasse verpackt ist). Ein Funktor muss nicht, kann aber, ein Interface sein.

Funktor ist nicht ein "Teil der Sprache", wie das Interface.


Zumindest meine Interpretation der Texte... :###
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben