CLOS
A CLOS ( angolul Common Lisp Object System – „ Common Lisp 's object system ”, angolul see-loss [1] ) egy objektum-orientált programozási rendszer , amely a Common Lisp – a Lisp nyelvi szabvány – része . Ezenkívül más dialektusokba is be van építve, mint például az EuLisp vagy az Emacs Lisp [2] . A kezdetben kiegészítőként javasolt CLOS-t az ANSI CommonLisp szabvány
részeként fogadták el .
A CLOS a következő tulajdonságokkal rendelkezik:
- Többszörös küldés (vagyis a meghívandó metódust minden argumentum határozza meg, nem csak az első), vagy " multimethods ".
- Ezért a metódusok nincsenek osztályokon belül definiálva. Elvileg "általánosított funkciókba" vannak csoportosítva.
- A CLOS nem nyújt elrejtést. A rejtést a Common Lisp egy másik része , a csomagok biztosítják.
- Az öröklődés miatt a szuperosztályú metódusok a programozó által választott többféle módon kombinálhatók, nem csak egyszerű felülírással.
- A CLOS dinamikus, vagyis nem csak a tartalom, hanem az objektumok szerkezete is változhat a program futása közben. A CLOS támogatja egy osztály szerkezetének menet közbeni megváltoztatását (akkor is, ha az adott osztályból már léteznek példányok), valamint egy adott példány osztályának megváltoztatását a CHANGE-CLASS metódussal.
- Többszörös öröklés .
A Common Lisp legtöbb implementációja támogatja a The Art of the Metaobject Protocol [3] -ban leírt metaobject protokollt , de a szabvány nem tartalmazza.
Jegyzetek
- ↑ Péter Norvig. "A mesterséges intelligencia programozás paradigmái: Esettanulmányok a közös lispben"
- ↑ "A CLOS a szabvány. Sok gyártó kínál CLOS-t. A CLOS-t (vagy annak egy részét) objektum-orientált szolgáltatások hozzáadására használják más Lisp dialektusokhoz, mint például az EuLisp vagy az Emacs Lisp." 110. oldal Veitch
- ↑ A MetaObject Protokollt közvetlenül leíró könyv része. Archivált az eredetiből 2013. január 21-én.
Irodalom
- Programozási nyelvek kézikönyve (HPL), 4. kötet: Funkcionális és logikai programozási nyelvek / szerkesztő Peter H. Salus. - Macmillan Technical Publishing, 1998. - 250 p. — ISBN 1-57870-011-6 . , Jim Veitch, a CLOS-ról, 107-158
Közönséges Lisp |
---|
Megvalósítások |
|
---|
Szoftver | Könyvtárak |
- CLSQL_
- -HTTP
- CL-PPCRE
- CLX
- páncélos
- Szimbolikus web
- Nem gyakori web
- Webblokkok
- Hunchentoot
- AllegroCache
- ASDF
- CLiki
- CLIM_
|
---|
Alkalmazások |
|
---|
Fejlesztési környezetek |
|
---|
|
---|
Publikációk |
- the Language
- paradigmái
- Protokoll művészete
- _
- Gyakorlati Közös
- Objektum-orientált programozás a Common
|
---|
tervezőbizottság |
|
---|
Egyéb |
|
---|