Goops Manual (original) (raw)
Node:Basic Instance Creation, Next:Customizing Instance Creation, Up:Creating Instances
3.3.1 Basic Instance Creation
To create a new instance of any GOOPS class, use the generic functionmake
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.
make | generic |
---|---|
make (class ) . initargs | method |
Create and return a new instance of class class, initialized usinginitargs.
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 expectinitargs 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 init-keyword). Other keyword value pairs can only be processed by an initialize
method that is specialized for the new instance's class. Any unprocessed keyword value pairs are ignored.
make-instance | generic |
---|---|
make-instance (class ) . initargs | method |
make-instance
is an alias for make
.