假设我有四个“汽车”子类。每种颜色一个。我想有一个函数可以根据传入的值构建并返回一个'color-car'子类。这是一个愚蠢的例子,我知道,但这正是我想要做的只是规模较小。从函数返回不同的子类?
public class Car
{
}
public class BlueCar extends Car
{
}
你明白了。
然后,在另一个(helper)类中,我有一个函数,它接受一个颜色的字符串并返回正确的子类。
public function GetCarFromColor(_color:String):Car
{
if (_color == "blue")
{
var myCar:BlueCar = new BlueCar;
return myCar;
} else if (_color == "red")
{
var myCar:RedCar = new RedCar;
return myCar;
}
好的。你懂了。这不适用于我未知的原因。我得到1118错误,抱怨BlueCar转换成汽车等...
有人可以帮我在这里吗?谢谢!
我不知道你可以在AS3中离开构造函数的括号。 – 2009-12-21 03:58:19
你可以,它甚至可以节省几个字节;) – grapefrukt 2009-12-21 21:07:03