CLOS

CLOS

CLOS (англ. Common Lisp Object System — «объектная система Common Lisp’а») — система объектно-ориентированного программирования, являющаяся частью Common Lisp — стандарта языка Лисп. Кроме того, её встраивают в другие диалекты, такие как EuLisp или Emacs Lisp[1]. Вначале предложенная как дополнение, CLOS была принята в качестве части стандарта ANSI CommonLisp.

CLOS имеет следующие особенности :

  • Множественная диспетчеризация (то есть вызываемый метод определяется всеми аргументами, а не только первым), или «мультиметоды».
  • Поэтому методы не определяются внутри классов. Они концептуально группируются в «обобщённые функции».
  • CLOS не обеспечивает сокрытия. Сокрытие обеспечивается другой частью Common Lisp — пакетами.
  • Наследование может приводить к тому, что методы суперклассов комбинируются различными способами по выбору программиста, а не только простым переопределением.
  • CLOS является динамическим, то есть не только содержимое, но и структура объектов может меняться во время работы программы. CLOS поддерживает изменение структуры класса на лету (даже если экземпляры данного класса уже существуют), равно как и смену класса данного экземпляра с помощью метода CHANGE-CLASS.
  • Множественное наследование

Большинство реализаций Common Lisp поддерживают метаобъектный протокол, описанный в книге «The Art of the Metaobject Protocol »[2], но не включенный в стандарт.

Примечания

  1. «CLOS это стандарт. Многие поставщики предлагают CLOS. CLOS (или его части) используется для добавления объектно-ориентированных возможностей в другие диалекты Лиспа, такие как EuLisp или Emacs Lisp.» стр. 110 Вейча
  2. Часть книги, непосредственно описывающая MetaObject Protocol

Литература

  • Handbook of Programming Languages (HPL), Volume 4: Functional and Logic Programming Languages / Editor Peter H. Salus. — Macmillan Technical Publishing, 1998. — 250 с. — ISBN 1-57870-011-6, Jim Veitch, on CLOS, P. 107—158

Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Полезное


Смотреть что такое "CLOS" в других словарях:

  • clos — clos, close 1. (klô, klô z ) part. passé de clore. 1°   Fermé. Jardin clos de murailles. •   Bien semble être la mer une barre assez forte Pour nous ôter l espoir qu il puisse être battu ; Mais est il rien de clos dont ne trouve la porte Ton heur …   Dictionnaire de la Langue Française d'Émile Littré

  • CLOS — es el acrónimo inglés de Common Lisp Object System y es una extensión de ANSI Common Lisp para permitir la programación orientada a objetos que ha sido adoptada por otros dialectos de Lisp como EuLisp o Emacs Lisp.[1] Inicialmente fue propuesta… …   Wikipedia Español

  • clos — clos; clos·a·ble; clos·en; clos·ish; clos·te·ri·um; clos·trid·i·al; clos·trid·i·um; cy·clos·to·mate; cy·clos·to·mes; cy·clos·to·mi; cy·clos·to·mous; en·clos·er; fore·clos·able; re·clos·able; clos·et; clos·ing; cy·clos·to·ma; clos·trid·i·an;… …   English syllables

  • cloş — CLOŞ, cloşuri, s.n. Croială largă, în formă de clopot, cu falduri ori evazată, cu firele ţesăturii aşezate oblic. ♢ (Adjectival) Rochie cloş. – Din fr. cloche. Trimis de hai, 03.06.2004. Sursa: DEX 98  cloş s. n., pl. clóşuri Trimis de siveco,… …   Dicționar Român

  • Clos — may refer to one of the following. People Corinne Clos (born 1978), an Italian ski mountaineer and long distance runner Dani Clos (born 1988), a Spanish racing driver Dominique Clos (1821 1908), a French botanist Paco Clos (born 1960), a former… …   Wikipedia

  • Clos — bezeichnet: Clos (Weinberg), französisch für einen umfriedeten Weinberg Dani Clos (* 1988), spanischer Rennfahrer Dominique Clos (1821–1908), französischer Botaniker und Direktor des botanischen Gartens in Toulouse Joan Clos (* 1949), spanischer… …   Deutsch Wikipedia

  • clos — CLOS. s. m. Espace de terre cultivé et fermé de murailles, de haies, de fossés, etc. Un clos de vingt arpens. Clos de vigne. Clos d arbres fruitiers. Faire un clos …   Dictionnaire de l'Académie Française 1798

  • Clos Bb — (Сен Сир сюр Мер,Франция) Категория отеля: Адрес: 563 Chemin du Jas De David, 83270 Сен Сир …   Каталог отелей

  • Clos —   [kloː] das, / , in einigen französischen und schweizerischen Weinbaugebieten Bezeichnung für eine Einzellage; ursprünglich ein mit einer Mauer umgebener Weinberg. * * * Clos [klo:, frz.: klo], das; [klo:(s)], [klo:s; frz. clos, eigtl. =… …   Universal-Lexikon

  • Clos — [klo:] das; [klo:(s)], [klo:s] <aus fr. clos »Gehege«, dies zu (m)lat. clausum »Geschlossenes«, substantiviertes Part. Perf. (Neutr.) von lat. claudere »schließen«> von einer Mauer od. Hecke eingefriedeter Weinberg od. garten in Frankreich …   Das große Fremdwörterbuch


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»