4.5. Defining Classes
Prev | Chapter 4. Types and Classes | Next

## 4.5. Defining Classes [sec_4-3-2]

`DEFCLASS` supports the `:METACLASS` option. Possible values are `STANDARD-CLASS` (the default), `STRUCTURE-CLASS` (which creates structure classes, like `DEFSTRUCT` does), and user-defined meta-classes (see Section 29.3.6.7, “Generic Function `CLOS:VALIDATE-SUPERCLASS`”).

It is not required that the superclasses of a class are defined before the `DEFCLASS` form for the class is evaluated. Use Meta-Object Protocol generic functions `CLOS:CLASS-FINALIZED-P` to check whether the class has been finalized and thus its instances can be created, and `CLOS:FINALIZE-INHERITANCE` to force class finalization.

See also Section 29.3.1, “Macro `DEFCLASS`”.

| These notes document CLISP version 2.45 | Last modified: 2008-05-14

Enter your search termsSubmit search form
Webclisp.cons.orgclisp.podval.orgwww.lisp.org

Prev | Up | Next
4.4. Standard Metaclasses | Home | 4.6. Redefining Classes