Intriguing. More examples?
> I
>usually think of a class as a compile time entity and an object as a runtime
>one.
I don't think that's really fair. Classes have a real runtime
existence in any language that permits dynamic instantiation (which
includes every language I can think of off the top of my head). The
*purpose* of a class is to define a template for a collection of
related, usually parameterized objects. (And generally with a
programmatic interface; we'll get to *that* with behaviours.) That
seems to match the notion here pretty well, IMO.
(If you *really* want to see classes hum, take a look at Ada 95,
where they play a very real and important role in polymorphism...)
>In the Example, IceCreamCone works much more like an Object (or even
>more accurately an Aggregate Object made up of "using" relationships) or a
>DEF that can have active reference to it in the form of USE.
Well, there are some ways I disagree. First, IceCreamCone is *not*
itself a renderable object in the graph -- it's much closer to the
concept of the "PASSIVE DEF"'ed objects just proposed. (I am assuming
that IceCreamCone is not intended to be rendered when "NAME"ed, since
it leaves a number of slots open.)
Also,
> If IceCreamCone
>were a class it would need the same sort of definable data slots or
>behaviour that TransformSeparator (for example) has.
But it *does* have them -- specifically, the radius and height
parameters. I don't see what these are if *not* slots; they match
the concept quite well.
> In other words, after
>defining IceCreamCone, you cannot instantiate it with varying parameters
>such as radius, rototation, translation and so forth. I don't think I did a
>very good job of providing a clear explaination, so if I have botched my
>comments beyond cognition, let me know and I'll try again.
I don't think I'm understanding you -- if I grok the original proposal,
IceCreamCone is intended for *just* instantiation. I think I see what
you're saying, but I think that either one or the other of us is
misunderstanding Nathan's proposal. (Specifically, I think you may
actually *be* talking about variables -- but I don't *think* Nathan
was...)
-- Justin
Random Quote du Jour:
"It's back to Hell for you, Yakin. And you will be punished for your
arrogance -- you will oversee the lawyers..."
"*No*! No! no..."
-- from Deadman