Hi,
Im trying out some kind of decorator design pattern style OOP and im having some problems.
base class:
class cBaseClass
{
var sName:String = "base name";
function desc()
{
return "base class desc";
}
}
Extended class:
class cExtendedClass extends cBaseClass
{
var base:cBaseClass;
function cExtendedClass(p:cBaseClass)
{
base = p;
}
function desc()
{
return base.desc()+" AND extended class desc";
}
}
test script:
var mytest:cBaseClass = new cBaseClass();
mytest = new cExtendedClass(mytest);
Debug.Log("desc = "+mytest.desc());
mytest is showing as an cExtendedClass object but its still acting like a cBaseClass object. It wont override the cBaseClass desc() function or recognise any other functions if you add them to cExtendedClass etc.
I found if you use:
Debug.Log("desc = "+(mytest as cExtendedClass).desc());
it works as it should.
Can anyone figure out what im doing wrong here please?