[plt-scheme] Overriding private methods with class.ss?
Hi, I was reading the class.ss documentation in the help desk, and as
far as I can tell there is no way to have private overridable methods:
---
A method declared with private is not accessible outside the class
expression, cannot be overridden, and never overrides a method in the
superclass.
---
So, let's say I have a scene class. This scene class has a
"handle-event" method which takes an event and returns a boolean
signifying whether or not the event was handled. Now, I have a
"key-handling-scene" subclass to ease the work of handling
specifically key events, and it adds these:
(define/private (handle-key key-event) #f)
(define/override (handle-event event)
(or (and (key-event? event) (handle-key-event event))
(super)))
So the subclass would be able to override "handle-key-event" to handle
keys without having to bother at all with other events. Obviously this
won't work if you can't override private methods. What should be done
instead?
Henk Boom