[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
3.3.1 Basic Instance Creation
To create a new instance of any GOOPS class, use the generic function
make
or make-instance
, passing the required class and any
appropriate instance initialization arguments as keyword and value
pairs. Note that make
and make-instances
are aliases for
each other - their behaviour is identical.
- generic: make
- method: make (class <class>) . initargs
Create and return a new instance of class class, initialized using initargs.
In theory, initargs can have any structure that is understood by whatever methods get applied when the
initialize
generic function is applied to the newly allocated instance.In practice, specialized
initialize
methods would normally call(next-method)
, and so eventually the standard GOOPSinitialize
methods are applied. These methods expect initargs to be a list with an even number of elements, where even-numbered elements (counting from zero) are keywords and odd-numbered elements are the corresponding values.GOOPS processes initialization argument keywords automatically for slots whose definition includes the
#:init-keyword
option (see section init-keyword). Other keyword value pairs can only be processed by aninitialize
method that is specialized for the new instance's class. Any unprocessed keyword value pairs are ignored.
- generic: make-instance
- method: make-instance (class <class>) . initargs
make-instance
is an alias formake
.