Go to the first, previous, next, last section, table of contents.


Defining Classes

The macro defclass is used to define a new named class.

The definition of a class includes:

*
The name of the new class. For newly-defined classes this name is a proper name.
*
The list of the direct superclasses of the new class.
*
A set of slot specifiers . Each slot specifier includes the name of the slot and zero or more slot options. A slot option pertains only to a single slot. If a class definition contains two slot specifiers with the same name, an error is signaled.
*
A set of class options. Each class option pertains to the class as a whole.

The slot options and class options of the defclass form provide mechanisms for the following:

*
Supplying a default initial value form for a given slot.
*
Requesting that methods for generic functions be automatically generated for reading or writing slots.
*
Controlling whether a given slot is shared by all instances of the class or whether each instance of the class has its own slot.
*
Supplying a set of initialization arguments and initialization argument defaults to be used in instance creation.
*
Indicating that the metaclass is to be other than the default. The :metaclass option is reserved for future use; an implementation can be extended to make use of the :metaclass option.
*
Indicating the expected type for the value stored in the slot.
*
Indicating the documentation string for the slot.


Go to the first, previous, next, last section, table of contents.