您的位置:首页 > 编程语言 > Java开发

如何实现用Java编写程序,设计一个模拟电梯运行的类

2015-10-09 12:46 1006 查看
实现代码如下:

public class ElevatorModel implenent ElevatorModelListener{

ElevatorShaft elevatorShaft;//电梯车箱

Floor firstFloor;

Floor secondFloor;

public void addPerson(Person person);

//实现ElevatorModelListener接口的所有方法

}

public abstract class Location{

String locationName;//可能占据的三个位置firstFloor; secondFloor;elevator中的其中一个位置。

public Button getButton();

public Door getDoor();

}

public class Floor extends Location{

public Floor(String firstFloor,String secondFloor);

public Button getButton();//具体实现

public Door getDoor();//具体实现

public ElevatorShaft getElevatorShaft();

}

public class Door implenent ElevatorMoveListener{

boolean open;//门是开的关的

public void openDoor();//开门

public viod clossDoor();//关门

}

public class Button implenent ElevatorMoveListener{

boolean pressed;

public void pressButton();//按下按钮

public void resetButton();//释放按钮

public void elevatorArrived();//电梯到来

}

public class ElevatorShaft{//电梯乘箱

Elevator elevator;//电梯

Button firstFloorButton,secondFloorButton;//出发层的按钮和到达层的按钮 Door firstFloorDoor,secondFloorDoor;//出发的门和到达的门

Light firstFloorLight,secondFloorLight;//灯

//监听器

DoorListener doorListener;

ButtonListener buttonListener;

LightListener ligthListener;

BellListener bellListener;

ElevatorMoveListener elevatorMoveListener;

Set set;

}

public class Light implenent ElevatorMoveListener{

boolean lightOn;//代表灯的状态,亮或灭

public void turnOnLight();

public void turnOffLight();

public void elevatorDeparted();//具体实现

public void elevatorArrived();//具体实现

}

public class Bell implenent ElevatorMoveListener{

public void ringBell();

public void elevatorDeparted();//具体实现

public void elevatorArrived();//具体实现

}

public class Elevator extends Location implenets

ButtonListener,DoorListener,BellListener,Runable

{//电梯乘箱

boolean moving;

boolean summoned;//描述Elevator是在移动还是已经补召唤

Floor currentFloor;//当前正在提供服务的Floor

Floor destinationFloor ; //代表将要到达的Floor

Button elevatorButton;

Door elevatorDoor;

Bell bell;

public void run();// 实现

public void requestElevator();//请求Elevator并产生排队请求。 }

public class Person extends Thread{

Location类对象(或是位于Floor上,或是出处在Elevator中); int ID;

boolean moving;

public void run();//具体实现

public void enterAndRideElevator();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 线程 设计