CLOS
Qiyofa
CЛОС (инглизча: Cоммон Лисп Обжеcт Сйстем — „Cоммон Лисп обект тизими“, инглизча: сеэ-лосс[1] деб талаффуз қилинади) — Лисп тили учун стандарт бўлган Cоммон Лисп нинг бир қисми бўлган обектга йўналтирилган дастурлаш тизимидир. Бундан ташқари, у ЭуЛисп ёки Эмаcс Лисп[2] каби бошқа диалектларга киритилган. Дастлаб қўшимча сифатида таклиф қилинган CЛОС АНСИ CоммонЛисп стандартининг бир қисми сифатида қабул қилинган.
CЛОС қуйидаги хусусиятларга эга:
- Бир нечта диспетчерлик (яъни чақириладиган услуб фақат биринчи эмас, балки барча аргументлар билан белгиланади) ёки „мултиметодлар“.
- Шунинг учун усуллар синфлар ичида аниқланмайди. Улар концептуал жиҳатдан „умумий функсиялар“ га гуруҳланган.
- CЛОС ҳеч қандай яширишни таъминламайди. Яшириш Cоммон Лисп нинг бошқа қисми, пакетлар томонидан таъминланади.
- Мерос, суперкласс усулларини оддий қайта аниқлаш эмас, балки дастурчи танлаган турли усулларда бирлаштиришга олиб келиши мумкин.
- CЛОС динамик ҳисобланади, яъни дастур ишлаётган вақтда нафақат таркиби, балки обектларнинг тузилиши ҳам ўзгариши мумкин. CЛОС тезда синф тузилишини ўзгартиришни (ҳатто ушбу синфнинг намуналари аллақачон мавжуд бўлса ҳам), шунингдек, CҲАНГЕ-CЛАСС усули ёрдамида берилган мисол синфини ўзгартиришни қўллаб-қувватлайди.
- Кўп сонли мерос[3].
Cоммон Лисп нинг аксарият иловалари „Тҳе Арт оф Метаобжеcт Протоcол“ китобида тасвирланган, аммо стандартга киритилмаган метаобект протоколини қўллаб-қувватлайди.
Манбалар
- ↑ Петер Норвиг. „Парадигмс оф Артифиcиал Интеллигенcе Программинг: Cасе Студиэс ин Cоммон Лисп“
- ↑ "CЛОС это стандарт. Многиэ поставщики предлагают CЛОС. CЛОС (или эго части) исползуэця для добавления объэктно-ориэнтированних возможностей в другиэ диалекти Лиспа, такиэ как ЭуЛисп или Эмаcс Лисп." стр. 110 Вейча
- ↑ Часть книги, непосредственно описывающая МетаОбжеcт Протоcол (Wайбаcк Мачине сайтида 2013-01-21 санасида архивланган)
Адабиётлар
- Ҳандбоок оф Программинг Лангуагес (ҲПЛ), Волуме 4: Фунcтионал анд Логиc Программинг Лангуагес. Маcмиллан Течниcал Публишинг, 1998. ИСБН 1-57870-011-6. , Жим Веитч, он CЛОС, П. 107—158