2015-12-03 32 views
0

我必須從以下列表中做到這一點: - 自行車 - 汽車 - 循環 - JetPlane - RoadVehicle - 充燃料 - 火車 - 運輸 - 三輪車的Java:需要幫助構建一個類層次結構含有正常的和抽象類和接口

我想通運輸將在層次結構的頂部是一個抽象類。然後,我們可以有週期延長運輸類(週期然後將延長三輪車自行車)。 充燃料還可以擴展運輸類,並有火車汽車JetPlane延長充燃料類。最後,RoadVehicle將是一個界面,並通過汽車延長。

我希望我已經清楚地解釋了這個問題,我對界面的理解有點混濁。

在此先感謝

+0

名稱以結束 「*** ***能」 通常屬於接口。 –

+0

而接口不擴展類。 –

回答

0

我會做到以下幾點:

interface Refulable... 
interface RoadVehicle... 
abstract class Transport... 
abstract class Cycle extends Transport... 
class Train extends Transport... 
class Car extends Transport implements Refulable, RoadVehicle... 
class JetPlane extends Transport implements Refulable... 
class Bicycle extends Cycle implements RoadVehicle... 
class Tricycle extends Cycle... 

讓Refulable的接口,因爲它可以通過在你的層次中的各種類來完成,形容詞也暗示的接口(見可比,可運行...)。

我也會讓RoadVehicle成爲一個界面,否則你將會遇到問題,解釋三輪車必須在道路上做什麼。

0
it may be help you... 

package com.deb.interfaces; 
public interface TransportInterfaces { 

} 


package com.deb.interfacesImpl; 
import com.deb.interfaces.TransportInterfaces; 
public abstract class TransportImpl implements TransportInterfaces{ 
} 

package com.deb.interfacesImpl; 
public class Cycle extends TransportImpl{ 
} 

package com.deb.interfacesImpl; 
public class ByCycle extends Cycle{ 
} 

package com.deb.interfacesImpl; 
import com.deb.interfaces.TransportInterfaces; 
public interface RoadVehicle extends TransportInterfaces{ 
} 

package com.deb.interfacesImpl; 
public class Refuelable extends TransportImpl{ 
} 

package com.deb.interfacesImpl; 
public class Car extends Refuelable implements RoadVehicle{ 
} 

package com.deb.interfacesImpl; 
public class Train extends Refuelable{ 
} 

package com.deb.interfacesImpl; 
public class Jet extends Refuelable{ 

} 

Eclipse hirerachy image