CLOS
Sign in to savefacility for object-oriented programming which is part of ANSI Common Lisp
Wikidata facts
- Part of
- Common Lisp
Show 2 more facts
- Stack Exchange tag
- stackoverflow.com/tags/clos
- inception
- 1987-03-01
Sources (2)
via Wikidata · CC0
Article · Русский
CLOS (англ. Common Lisp Object System — «объектная система Common Lisp’а», произносится как англ. see-loss) — система объектно-ориентированного программирования, являющаяся частью Common Lisp — стандарта языка Лисп. Кроме того, её встраивают в другие диалекты, такие как EuLisp или Emacs Lisp. Вначале предложенная как дополнение, CLOS была принята в качестве части стандарта ANSI CommonLisp. CLOS имеет следующие особенности: * Множественная диспетчеризация (то есть вызываемый метод определяется всеми аргументами, а не только первым), или «мультиметоды». * Поэтому методы не определяются внутри классов. Они концептуально группируются в «обобщённые функции». * CLOS не обеспечивает сокрытия. Сокрытие обеспечивается другой частью Common Lisp — пакетами. * Наследование может приводить к тому, что методы суперклассов комбинируются различными способами по выбору программиста, а не только простым переопределением. * CLOS является динамическим, то есть не только содержимое, но и структура объектов может меняться во время работы программы. CLOS поддерживает изменение структуры класса на лету (даже если экземпляры данного класса уже существуют), равно как и смену класса данного экземпляра с помощью метода CHANGE-CLASS. * Множественное наследование. Большинство реализаций Common Lisp поддерживают метаобъектный протокол, описанный в книге «The Art of the Metaobject Protocol», но не включённый в стандарт.
Abstract from DBpedia / Wikipedia · CC BY-SA