6 Classes and Objects
This module provides tools for classes, objects, and mixins.
6.1 Predicates and Contracts
Recognizes classes and interfaces.
Recognizes objects which are instances of all the given classes and interfaces.
Recognizes classes which are subclasses (not strictly) and implementations,
respectively, of all the given classes and interfaces.
|
|
(mixin/c [super-expr ...] [arg-expr ...] [sub-expr ...]) |
|
The middle clause of mixin/c has been removed in
mixin-provides/c because mixins rarely need extra arguments, and class
initialization arguments are usually the best way to provide them.
6.2 Mixins
Returns c% if it implements i<%>; otherwise, returns
(mx c%).
6.3 Methods
(send+ obj [message arg ...] ...) |
Sends each message (with arguments) to obj, then returns obj.
Examples: |
|
> (send+ (new c%) [say 'Hello] [say 'Good-bye]) |
|
#(struct:object:c% ...) |
Sends the message to each object in the list
objs, returning
(void).
Examples: |
|
|
Hello, World! | Good-bye, World! |
|