(require mzlib/class100) |
NOTE: This library is deprecated. Use racket/class instead. This library will be removed in a future version.
The class100 and class100* forms provide a syntax close to that of class and class* in Racket versions 100 through 103, but with the semantics of the current scheme/class-based class system. For a class defined with class100, keyword-based initialization arguments can be propagated to the superclass, but by-position arguments are not (i.e., the expansion of class100 to class always includes an init-rest clause).
The class100 form uses keywords (e.g., public) that are defined by the mzlib/class library, so typically scheme/class must be imported into any context that imports mzlib/class100.
syntax
(class100* superclass-expr (interface-expr ...) init-ids class100-clause ...)
init-ids = id | (id ... id-with-default ...) | (id ... id-with-default ... . id) id-with-default = (id default-expr) class100-clause = (sequence expr ...) | (public public-method-decl ...) | (override public-method-decl ...) | (augment public-method-decl ...) | (pubment public-method-decl ...) | (overment public-method-decl ...) | (augride public-method-decl ...) | (private private-method-decl ...) | (private-field private-var-decl ...) | (inherit inherit-method-decl ...) | (rename rename-method-decl ...) public-method-decl = ((internal-id external-id) method-procedure) | (id method-procedure) private-method-decl = (id method-procedure) private-var-decl = (id initial-value-expr) | (id) | id inherit-method-decl = id | (internal-instance-id external-inherited-id) rename-method-decl = (internal-id external-id)
syntax
(class100 superclass-expr init-ids class100-clause ...)
syntax
(class100-asi superclass instance-id-clause ...)
syntax
(class100*-asi superclass interfaces instance-id-clause ...)
syntax
(super-init init-arg-expr ...)