假設我有四個「汽車」子類。每種顏色一個。我想有一個函數可以根據傳入的值構建並返回一個'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