例子
設計思路
1.建立一個使用者類;
2.建立一個電梯類;
3.建立一個使用者管理類;
4.建立一個電梯管理類;
5.建立一個方法類。
程式碼
使用者類
package com.lizc.vo;
public class User {
private int num;//樓層數
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
電梯類
package com.lizc.vo;
public class Elevator {
private int num;//電梯所在樓層
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
}
使用者管理類
package com.lizc.bo;
/**
* 管理使用者業務邏輯的類,將使用者的所有行為方式實現
* @author Administrator
*
*/
public class UserManager {
public void downButton(){
System.out.println("=========使用者按下按鈕");
}
public void into(){
System.out.println("======使用者進入電梯");
}
public void out(){
System.out.println("======使用者出電梯");
}
public int select(int num){
System.out.println("====使用者選擇了:"+num+"層");
return num;
}
}
電梯管理類
package com.lizc.bo;
/**
* 電梯行為管理類
* @author Administrator
*
*/
public class ElevatorManager {
public void open(){
System.out.println("===========電梯開門");
}
public void close(){
System.out.println("===========電梯關門");
}
public void move(int num){
System.out.println("=======電梯移動到:"+num+"層");
}
}
方法類
package com.lizc.test;
import com.lizc.bo.ElevatorManager;
import com.lizc.bo.UserManager;
import com.lizc.vo.Elevator;
import com.lizc.vo.User;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
User user=new User();
user.setNum(1);//使用者所在樓層
Elevator e=new Elevator();
e.setNum(1);//電梯所在樓層
UserManager uManager=new UserManager();
ElevatorManager eManager=new ElevatorManager();
uManager.downButton();
//使用者所在樓層是否和電梯在同一層,如果在開門,不在電梯移動後開門
if(user.getNum()!=e.getNum()){
eManager.move(user.getNum());//電梯移動到使用者樓層
}
eManager.open();//電梯開門
uManager.into();
eManager.close();
int tem_num=uManager.select(7);
eManager.move(tem_num);
eManager.open();
uManager.out();
eManager.close();
}
}
執行結果
電梯所在樓層和使用者所在樓層可以在方法類中修改。
如果寫得不清楚的歡迎評論區交流;有可以最佳化的地方歡迎大佬指教指教。
您的三連是對小七最大的鼓勵,希望多多支援!
本文章已修改原文用詞符合繁體字使用者習慣使其容易閱讀
版權宣告:此處為CSDN博主「巨集遠小七」的原創文章,依據CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/m0_50218636/article/details/109601722