构建阶级层次结构的最佳方法



我正在尝试基于类层次结构的结构的挑战。我必须尝试评估并正确构建包括基于运输的车辆的层次结构。这是类选项:

  • 自行车
  • 汽车
  • 循环
  • 喷气式飞机
  • RoadVehicle
  • 加油
  • 火车
  • 运输
  • 三轮车

在结构方面,我必须确定哪些类是抽象的,哪些类扩展了哪些类是界面。

这是我到目前为止提出的:

运输

public abstract class Transport 
{
    //Super class. All vehicles are a form of transportation.
}

自行车

public abstract class Bicycle extends RoadVehicle
{
    //Bicycle is a road vehicle. Does not implement Refuelable as it does not use fuel. Is abstract because Cycle is its sub-class.
}

CAR

public class Car extends RoadVehicle implements Refuelable
{
    //Extends RoadVehicle which extends Transport and also implements Refuelable as it uses fuel.
}

循环

public class Cycle extends Bicycle
{
    //Cycle is an act which is carried out when using a Bicycle so it extends Bicycle.
}

JETPLANE

public class JetPlane extends Transport implements Refuelable
    {
        //JetPlane is not a road vehicle but directly extends Transport because it is used as a form of transport, also implements Refuelable.
    }

RoadVehicle

public abstract class RoadVehicle extends Transport 
{
    //All classs that are road vehicles extends this clss. This seperates the road vehicles from the non-road vehicles.
}

加油

public interface Refuelable 
{
    //An interface that declares which tyypes of transport use fuel and which do not.
}

火车

public class Train extends Transport implements Refuelable
{
    //Trains are not a road veicle but do extend Transport and are refuelable.
}

tricycle

public class Tricycle extends Transport
{
//Tricycle is a form of transport for children, it is not refuelable and does not operate on the road.
}

这是正确的还是您可以看到任何错误?我正在这样做是为了测试我对继承的知识,因此任何建议或指示都将不胜感激,谢谢。

鉴于我们无法分辨每个实体中应该在每个实体中的方法,我将从以下内容开始:

interface Transport
interface Refuelable
interface RoadVehicle extends Transport
interface Cycle extends RoadVehicle
class Bicycle implements Cycle
class Tricycle implements Cycle
class Car implements RoadVehicle, Refuelable
class JetPlane implements Transport, Refuelable
class Train implements Transport

相关内容

最新更新