Java:需要帮助构建一个包含普通和抽象类以及接口的类层次结构

时间:2015-12-03 16:30:29

标签: java class interface hierarchy abstract

我必须从以下列表中执行此操作: - 自行车 - 车 - 周期 - 喷气式飞机 - RoadVehicle - 可加油 - 火车 - 运输 - 三轮车

我认为传输将作为抽象类位于层次结构的顶部。然后我们可以循环扩展传输类(然后循环将由三轮车自行车扩展)。 Refuelable 还可以扩展传输类,并且训练汽车 JetPlane 扩展可加燃料类。最后, RoadVehicle 将是一个界面并可以通过汽车进行扩展。

我希望我已经清楚地解释了这个问题,我对接口的理解有些混乱。

提前致谢

2 个答案:

答案 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成为一个界面,因为它可以通过你的层次结构中的各种类来完成,而形容词也建议一个界面(参见Comparable,Runnable ......)。

我也将RoadVehicle作为一个界面,否则你会在解释三轮车在道路上必须做什么时遇到问题。

答案 1 :(得分: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