public class ChildClass extends MovieClip
{
public function ChildClass()
{
}
public function aChildClassFunction()
{
}
}
public class AnotherChildClass extends MovieClip
{
public function ChildClass()
{
}
public function aChildClassFunction()
{
}
}
childClassを要求するランダム関数(ただし、怠惰なプログラマーはMovieClipクラスを使用するだけです)
public function setChildClassInstance(var mc:MovieClip)
{
// How come "mc" represent and be allowed as parameter ??? It's a super-class.. ie. structurally a sub-set of child-class.
mc.aChildClassFunction(); //<< Would generate run-time error for 2nd function call.
}
上記の関数は、任意のMovieClipインスタンスにも使用できます
var childClassInstance:ChildClass ;
var anotherChildClassInstance:AnotherChildClass ;
setChildClassInstance( childClassInstance ) // <<<<<VALID, .... NO COMPILER ERROR
setChildClassInstance( anotherChildClassInstance )
//<<< VALID, NO COMPILER ERROR .. BUT WILL CAUSE RUNTIME ERROR !!!!
//
//
//
どうしてSUPERCLASS(ここではMovieClip)が許可され、子クラス(ここではChildClass、AnotherChildClass)のパラメーターとしてテーマ自体を表すのだろうか。特に、「SUPERCLASSES」は実際にはPARENT-SETの「SUB-SET」であるためです。彼らの子供クラス。
ありがとう