2 problems with derivation
- From: Owen Taylor <otaylor redhat com>
- To: gtk-devel-list gnome org
- Cc: timj gtk org
- Subject: 2 problems with derivation
- Date: 11 Nov 2000 19:05:30 -0500
1. (James brought this up a while ago)
The signal signal-closure mechanism seems to be not
workable as currently implemented because there is no
way of overriding the class closure in derived types.
You are storing the class closure with the class,
but it needs to be stored with the signal.
So, to make this functional, you need:
a) A way to associate the class closure with the type.
(I suppose you could keep list of class closures
per type in the signal node.)
b) A way to chain to the parent class's class closure
during the invocation of the child class's
class node
In some sense, the whole class closure mechanism is
silly, since we've just introduced interfaces which
pose exactly the same problems as the default handlers
for signals.
I think we need to accept that language bindings will
either need:
- Proxy functions written in C
or:
- libffi style magic
2. As far as I know, there is no way to override a parent
class's implementation of an interface, either entirely
or partially.
I believe this is a fairly serious limitation compared
to the general way interfaces/multiple-inheritance works in
most languages.
I think we really need the same capabilities as we
have for virtual functions:
- Completely or partially override parent implementations
- Chain to the parent classes implementations
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]