[chuck-users] parent and children classes (I meant polymorphism)
Scott Wheeler
wheeler at kde.org
Tue Jan 20 18:10:37 EST 2009
On Jan 20, 2009, at 11:52 PM, eduard aylon wrote:
> Hello Scott,
> thanks for your reply.
> Actually now I realise that my question was incorrect... too tired
> due to a project deadline.
> My question, actually, should have been about polymorphism and not
> inheritance. What I want is that having a base class Point and
> another class Point2D which inherits from Point, that I can define a
> Point p, that could morph and become a Point2D. Or in other words,
> that an UGen, can become a SinOsc.
>
> Is that possible?
Still not sure I completely understand -- you can assign a higher
class to a reference defined as a subclass, and then you can upcast
that. e.g.
class Foo
{
fun void f() { <<< 1 >>>; }
}
class Bar extends Foo
{
fun void f() { <<< 2 >>>; }
}
new Bar @=> Foo @ foo;
foo $ Bar @=> Bar @ bar;
foo.f();
bar.f();
Produces:
2 :(int)
2 :(int)
There's no real "morphing" in there though. Once a class is
instantiated it stays the same type, it's just that it can have a
handle that refers to it that's a base-class or one of its own type.
-Scott
More information about the chuck-users
mailing list