Next: Basic Methods, Up: Default Superclass [Contents][Index]

### 15.1 Initialization

When creating an object of any type, you can use its constructor, or `make-instance`. This, in turns calls the method `initialize-instance`, which then calls the method `shared-initialize`.

These methods are all implemented on the default superclass so you do not need to write them yourself, unless you need to override one of their behaviors.

Users should not need to call `initialize-instance` or `shared-initialize`, as these are used by `make-instance` to initialize the object. They are instead provided so that users can augment these behaviors.

Function: initialize-instance obj &rest slots

  Initialize obj. Sets slots of obj with slots which is a list of name/value pairs. These are actually just passed to `shared-initialize`.

Function: shared-initialize obj &rest slots

  Sets slots of obj with slots which is a list of name/value pairs.

  This is called from the default constructor.