|
A Most common Lisp Object Patterns, the mighty patterns for object-oriented programming which forms part of Common Lisp.
CLOS differs from either virtually all more object-oriented programming environments in the as a consequence ways:
It offers multiple dispatch, or "multimethods".
So, methods are non considered to survive in classes; it is conceptually grouped into generic functions instead, a form of mixin.
CLOS doesn't provide encapsulation; that is considered to be a job of a different a share of Most common Lisp, the pack models.
Inheritance could stimulate methods to exist as combined together around randomly complicated ways at a discretion of the coder, & non simply overridden by a single a second.
CLOS is dynamic, meaning that non single a contents, however as well a structure of its objects may be modified at runtime. CLOS supports changing class definitions within-the-fly (potentially whilst cases of a class in wonder already survive) also when changing the class membership of a given case through the vary-class operator.
CLOS has multiple inheritance and, unofficially, a meta-object protocol.
de:Common Lisp Object System
|