【问题标题】:Java: Need help constructing a class hierarchy which contains normal and abstract classes as well as interfacesJava:需要帮助构建包含普通和抽象类以及接口的类层次结构
【发布时间】:2015-12-03 16:30:28
【问题描述】:
我必须从以下列表中执行此操作:
- 自行车
- 车
- 循环
- 喷气式飞机
- 公路车辆
- 可加油
- 火车
- 运输
- 三轮车
我认为 transport 将作为抽象类位于层次结构的顶部。然后我们可以让 Cycle 扩展运输类(然后循环将由 tricycle 和 bicycle 扩展)。 Refuelable 还可以扩展运输类,并且有 train、car 和 JetPlane 扩展了 refuelable 类。最后,RoadVehicle 将是一个接口,可以通过汽车进行扩展。
希望我已经把这个问题解释清楚了,我对接口的理解有点模糊。
提前致谢
【问题讨论】:
标签:
java
class
interface
hierarchy
abstract
【解决方案1】:
我会做以下事情:
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 成为一个界面,否则你会在解释三轮车在道路上的作用时遇到问题。
【解决方案2】:
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