I have a class that looks like:
public class MySuperClass
{
public void PrintValue()
{
print("SUPER Class");
}
}
I then have another class that looks like:
public class MySubClass : MySuperClass
{
public void PrintSubValue()
{
print("SUB Class");
}
}
Then, I have a situation where I have a third class that looks like:
public class MyOtherClass
{
public MyOtherClass(MySuperClass someSubClass)
{
someSubClass.PrintSubValue();
}
}
It won't compile... As is to be expected.
Now if I change MyOtherClass
to look like:
public class MyOtherClass
{
public MyOtherClass(MySuperClass someSubClass)
{
someSubClass = (MySubClass) someSubClass;
someSubClass.PrintSubValue();
}
}
It still won't compile... This I didn't expect.
Why am I unable to cast a Super Class to a Sub Class? And how can I get around this issue?