Re: Single Inheritance with Interfaces

Johannes N. Johannsen (jojo@well.com)
Thu, 17 Apr 1997 16:59:15 +1200

Park SungWoo wrote:
>
>> >
> > > CLASS HatRobot EXTENDS Robot [ exposedField SFFloat size 1. [ {
> > > SELF {
> > > children [ SUPER.children D{} ]
> > > }
> > > }
>
> Note that in this example, SUPER.children is not a field value. (because
> there is no specific super node.) Rather, SUPER.children indicates
> the structure of the field of the super class.
>

Still lost me here. What is this for? Please be specific in terms of
an example, I can't make any sense out of it.

Here is my attempt at understanding this... it looks like you are trying
to specify how to change data members during inheritance. And that the
default is that they don't get inherited. This makes no sense, because
by default with inheritance you inherit. Since these are data fields,
containing the description of the object (not its behavior), it seems
that preserving and adding would be a more reasonable default -- that
gets rid of SUPER altogether. Now if you want to get rid of fields, its
not so clear that inheritance is what you really want.

Thanks

JJ