CLOS

CLOS ist das Akronym für Common Lisp Object System und ist eine Erweiterung von ANSI Common Lisp zu aktivieren objektorientierten wurde von anderen Dialekten Lisp als EuLisp oder Emacs Lisp-Programmierung übernommen. Es wurde ursprünglich als eine zusätzliche Sprache vorgeschlagen, aber später CLOS wurde als Teil der Standard-ANSI Common Lisp angenommen. CLOS ist eine dynamische Programmiersprache auf Objekte, die sehr verschieden von dem, was wir in statischen Programmiersprachen und objektorientierten C ++ oder Java gerichtet. CLOS wird von Lisp-Systeme obigen Aufgaben wie MIT Flavors und Common LOOPS orientierte inspiriert, obwohl es ist allgemeiner als diese.

Erste objektorientierte Lisp ist einfach: Sie in nur zwei Seiten Code tun können. Aber stellen Sie Lisp ist objektorientiert und doch so dehnbar und flexibel wie der Rest der Lisp-System ist komplizierter. Obwohl CLOS ist eine objektorientierte System wird CLOS auf dem Modell der objektorientierten Programmiersprache implementiert. Objektorientierte Umsetzung CLOS als CLOS Metaobjektprotokoll oder MOP bekannt und kann das System erweiterbar und anpassbar sein.

Eigenschaften

Multiple Resolution

CLOS ist ein System von Mehrfachauflösung. Dies bedeutet, dass Methoden können durch die Typen aller Argumente unterscheiden. Viele OO-Sprachen Einzel- Lösungsmethoden unterscheiden sich mit dem ersten Argument. Methods in CLOS werden in generischen Funktionen, Sammlungen von Methoden mit dem gleichen Namen und der Struktur der Argumente, aber mit verschiedenen Argumenten zusammengefasst.

Verpackung

Wie die OO-Systeme in vielen dynamischen Sprachen, hat CLOS keine Kapselung. Jeder Mitglied Daten können mit Hilfe der Funktion zugegriffen werden. CL-Programmierer verwenden Sie das Werkzeug Verpackungen, zu erklären, welche Funktionen oder Datenstrukturen, die Sie exportieren möchten.

Methoden und

Neben den Standard-Verfahren gibt es Methoden und. Dazu ändern Sie die Reihenfolge, in der die Verfahren in einer abgeleiteten Klasse ausgeführt. Verfahren können festlegen, ob die primäre Methode vollständig ausgeführt. Darüber hinaus kann der Programmierer eingestellt, wenn alle möglichen primären Methoden entlang der Klassenhierarchie sollte aufgerufen werden, oder nur die am meisten ähnelt.

Mehrfachvererbung

CLOS erlaubt Mehrfachvererbung. Wenn die vorgegebene Reihenfolge, in der die Verfahren sind in Fachvererbung ausgeführt nicht korrekt ist, kann der Programmierer das Problem von Diamant, die die Reihenfolge der Kombination der Verfahren zu lösen.

Dynamische

CLOS dynamisch ist, nicht nur den Inhalt, sondern auch die Strukturen von Objekten während der Laufzeit verändert werden. CLOS unterstützt das Laden von Klassendefinitionen im laufenden als auch die Änderung der Mitglieder der Klasse einer Instanz durch den Bediener gegeben.

Prototypen

CLOS ist ein Prototyp-basierte Sprachklassen zu definieren, bevor Objekte können als Mitglieder dieser Klasse instanziiert werden. Jedoch gibt Sheeple, ein objektorientiertes System, basierend auf protipos, das in seiner eigenen Metaobjekten protolo

Meta-Objekt-Protokoll

Außerhalb der ANSI-Standard, es ist eine Erweiterung des CLOS weit verbreitetes Protokoll genannte Meta-Objekte. Der Mopp definiert eine Standardschnittstelle zu CLOS Implementierungen stützen, die Behandlung von Klassen selbst als Instanzen der Metaklassen und ermöglicht die Definition neuer Metaklassen und Casico Verhaltensmodifikation. Die Flexibilität der CLOS-MOP nach vorne Aspect Oriented Programming, die später von einigen der gleichen Ingenieuren entwickelt wurde, als Gregor Kiczales.

  0   0
Vorherige Artikel Mike Tyson
Nächster Artikel Bernard Curry

Kommentare - 0

Keine Kommentare

Fügen Sie einen Kommentar

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Zeichen übrig: 3000
captcha