CarModel.java
上传用户:hensond
上传日期:2021-12-27
资源大小:817k
文件大小:1k
- package com.company.section1;
- import java.util.ArrayList;
- /**
- * @author cbf4Life cbf4life@126.com
- * I'm glad to share my knowledge with you all.
- * 定义一个车辆模型的抽象类,所有的车辆模型都继承这里类
- */
- public abstract class CarModel {
-
- //这个参数是各个基本方法执行的顺序
- private ArrayList<String> sequence = new ArrayList<String>();
-
- /*
- * 模型是启动开始跑了
- */
- protected abstract void start();
-
- //能发动,那还要能停下来,那才是真本事
- protected abstract void stop();
-
- //喇叭会出声音,是滴滴叫,还是哔哔叫
- protected abstract void alarm();
-
- //引擎会轰隆隆的响,不响那是假的
- protected abstract void engineBoom();
-
- //那模型应该会跑吧,别管是人推的,还是电力驱动,总之要会跑
- final public void run() {
-
- //循环一边,谁在前,就先执行谁
- for(int i=0;i<this.sequence.size();i++){
- String actionName = this.sequence.get(i);
-
- if(actionName.equalsIgnoreCase("start")){ //如果是start关键字,
- this.start(); //开启汽车
- }else if(actionName.equalsIgnoreCase("stop")){ //如果是stop关键字
- this.stop(); //停止汽车
- }else if(actionName.equalsIgnoreCase("alarm")){ //如果是alarm关键字
- this.alarm(); //喇叭开始叫了
- }else if(actionName.equalsIgnoreCase("engine boom")){ //如果是engine boom关键字
- this.engineBoom(); //引擎开始轰鸣
- }
-
- }
-
- }
-
- //把传递过来的值传递到类内
- final public void setSequence(ArrayList<String> sequence){
- this.sequence = sequence;
- }
- }