First-Class-Objekt

First-Class-Objekt

Ein first-class Objekt (englisch first-class object) bezeichnet in der Programmierung von Computersystemen ein Objekt, das als Übergabeparameter oder Rückgabewert einer Funktion oder Prozedur auftritt bzw. einer Variable zugewiesen werden kann. [1]

Der Begriff wurde von Christopher Strachey im Kontext “functions as first-class citizens” Mitte der 1960er Jahre geprägt.[2]

Inhaltsverzeichnis

Definition

Ein Objekt ist first-class wenn es die folgenden Bedingungen erfüllt: [3][4]

  • es kann in Programmvariablen gespeichert werden
  • es kann als Parameter an Funktionen oder Prozeduren übergeben werden
  • es kann als Rückgabewert von Funktionen dienen
  • es kann zur Laufzeit eines Programms erstellt werden
  • es hat eine eigene Identität (unabhängig vom Namen)

Der Begriff "Objekt" muss dabei nicht im engeren Sinne ein Objekt einer objektorientierten Programmiersprache verstanden werden. In den meisten Programmiersprachen sind insbesondere die elementaren Datentypen, z.B. Integer und Fließkommaobjekte immer first-class.

Beispiele

  • In C und C++ sind Funktionen keine first-class Objekte, da es nicht möglich ist, sie zu Laufzeit zu erzeugen - anders als z.B. Integers. Auch Arrays sind keine first-class Objekte, da sie nicht als Funktionsparameter übergeben werden können.
  • In Fortran sind Strings keine first-class Objekte, da es nicht möglich ist, sie Variablen zuzuweisen.

Quellen

  1. Michael Scott: Programming Language Pragmatics. San Francisco, CA: Morgan Kaufmann Publishers 2006
  2. Rod Burstall, "Christopher Strachey—Understanding Programming Languages", Higher-Order and Symbolic Computation 13:52 (2000)
  3. First Class. C2.com (25. Januar 2006). Abgerufen am 9. Oktober 2010.
  4. first class object. Catalysoft.com. Abgerufen am 9. Oktober 2010.

Siehe auch


Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Aldor — ist eine Programmiersprache, die hauptsächlich im Umfeld von Computeralgebrasystemen verwendet wird. Inhaltsverzeichnis 1 Geschichte 2 Spracheigenschaften 2.1 Typsystem 3 Lizenz …   Deutsch Wikipedia

  • Scala (Programmiersprache) — Scala Paradigmen: objektorientiert, funktional, imperativ Erscheinungsjahr: Seit 2001: Interne Arbeiten an der EPFL 2003: Version 1 2006: Version 2 Entwickler: École polytechnique fédérale de Lausanne unter Leitung von Martin Oders …   Deutsch Wikipedia

  • Gilda (Film) — Filmdaten Deutscher Titel Gilda Produktionsland Vereinigte Staaten …   Deutsch Wikipedia

  • Smalltalk-80 (Programmiersprache) — Smalltalk Basisdaten Erscheinungsjahr: 1972 (Entwicklung ab 1969) Designer: Alan Kay, Dan Ingalls, Adele Goldberg E …   Deutsch Wikipedia

  • LPC (Programmiersprache) — LPC ist eine objektorientierte Programmiersprache, in der Syntax ähnlich wie C oder C++, für Netzwerk Textabenteuerspiele (kurz MUD für englisch Multi User Dungeon). LPC ist eine Mischung aus Interpreter und Compilersprache. LPC MUDs erlauben in… …   Deutsch Wikipedia

  • RMS Titanic — Die Titanic am 10. April 1912 p1 …   Deutsch Wikipedia

  • Frankfurt-Bockenheim — Bockenheim …   Deutsch Wikipedia

  • Generation language — Quelltext eines Programms in der objektorientierten Programmiersprache Ruby. Eine Programmiersprache ist eine Notation für Computerprogramme; sie dient sowohl dazu, diese während und nach ihrer Entwicklung (Programmierung) darzustellen als auch… …   Deutsch Wikipedia

  • ProTrain Perfect — Trainz ist eine von der australischen Firma Auran entwickelte Eisenbahnsimulation für Microsoft Windows, vergleichbar mit dem Microsoft Train Simulator. Während die schlicht Trainz genannte Urversion sowie das später erschienene Ultimate Trainz… …   Deutsch Wikipedia

  • Trainz — (alle Versionen) Entwickler Auran/N3V Games Plattform(en) …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”