如果繼承TrainCar這是一個問題。如果繼承GCompoud那很好。錯在哪裏?爲什麼子類繼承父類有錯?
父:
public class TrainCar extends GCompound{
public TrainCar(double size){
engine = new Engine(size);
add(engine);
}
}
子類:
public class Engine extends TrainCar {
public Engine (double size){ //if inherit TrainCar that's a problem.
//if inherit GCompoud that's well.
GPolygon engine = engine(size);
add(engine);
}
}
的棚車繼承TrainCar這是很好。
在單張#31:
public class Boxcar extends TrainCar {
public Boxcar(Color color) {
}
http://www-cs-faculty.stanford.edu/~eroberts/courses/cs106a/handouts/30-graphical-structures.pdf
你正在創建一個遞歸循環。當創建一個新的引擎時,它會創建一個新的TrainCar,它創建一個新的引擎,創建一個新的TrainCar,從而創建一個新的Engine ... – Jensen 2013-03-02 11:15:33
正如Jensen Somers所說的,您正在創建遞歸循環。你正在試圖做什麼指定。讓它更清晰 – 2013-03-02 11:21:00
這不是一個遞歸循環。如果子類繼承GCompoud,那就行。我不知道爲什麼子類不能擴展父類。 – user2094097 2013-03-02 11:41:37