2017级面向对象程序设计 作业二
以下均以扫描方式为例,即电梯只会在最底层和最高层选择掉头,路途中遇到路径方向相同的乘客将他带上电梯。
文字描述面向过程实现的步骤:
一. 定义有关电梯的变量,如:1.电梯当前所在楼层.,2. 电梯内的人数,3. 电梯当前前进的方向,等等。再定义有关乘客的变量,如:请求时刻 ,所在楼层,去往楼层,还可以包括其当前的状态——请求状态,乘坐状态,结束状态。
二 .接收到第一个请求时, 电梯开始工作,从底层开始。
1.上一层。
2.判断是否到达顶层或底层,是则改变方向。
3.判断是否有人符合上电梯条件或下电梯条件,是则拉他上,否则继续前进。
4.判断请求是否已经完成,是则结束,否则继续循环。
对象类图
面向过程 我认为就是需要先整体分析出解决该问题所需要的步骤,然后一步一步去实现它。就以电梯来说,电梯首先接受请求信号,然后打开门,带上乘客,关上门,往上爬,到达目的地,开门,乘客下电梯,关门。一个请求结束。面向过程程序设计方法需要程序员在一开始就全面的,自上而下的设计整个程序的架构,因此要求程序设计者对问题域有全面的了解。这并不适合多个程序员一起工作。
面向对象 我认为就是把一个事件分为多个对象来实现。对象就是一个事物,在编码时先将对象抽象出来,然后构造你所需要的解决环境,在这个环境中将对象和解决方法联系起来。仍以电梯为例,包括:1.乘客,获得所有的输入请求。2.电梯,更新电梯状态 。3.判断结束系统。
可以看出,面向对象按照功能将整个过程划分。面向对象划分的对象便于多个程序员同时对各个部分进行进行更改,比较符合人们追求的效率。
class Elevator
{
private:int currentFloor; // 电梯当前楼层 int direction; // 1 代表向上 ,0 代表向下
public:Elevator(int dir = 1, int floor = 0 ,int pp= 0); // 电梯初始向上走 ,且电梯在第0层~Elevator();int population;void changeDirection(int dir) // 改变电梯运行方向{direction = dir;}void move(int dir) // 电梯的移动{if (dir) currentFloor++;else currentFloor--;}int getCurrentFloor() // 电梯当前楼层{return currentFloor;}int getDirection(){return direction;}
};
Elevator::Elevator(int dir, int floor, int pp)
{direction = dir;currentFloor = floor;population = pp;
}
Elevator::~Elevator()
{cout << "析构函数"<<endl;
}
转载于:https://www.cnblogs.com/ruanjunxi/p/8995283.html
2017级面向对象程序设计 作业二相关推荐
- 2017级面向对象程序设计 作业三
Deadline:2018-05-13 22:00pm 题目升级 一栋10层的大楼(楼层编号1-10),设3台无限载重的电梯,初始时电梯停在1层.其中:1号电梯只能停留在奇数层,2号电梯可以各层都停留 ...
- 【2017级面向对象程序设计】作业一
Github PTA 这次电梯就把之前的代码改了一下,但是还是有很多之前留下的现在没用接口,没有删除,下次作业时看一下如果真的没用就删除了. 困难主要集中在调用函数上面,我再一次给参数忘记加引用了,导 ...
- 2017级面向对象程序设计——团队作业2
Deadline:2018/6/19 22:00 作业要求 根据上一阶段的设计和分工,完成构建地图.基地.英雄.小兵等基本游戏元素的编程任务(构建相应的类和对象即可,不要求实现可操控移动等功能). 每 ...
- 2017级面向对象程序设计——团队作业1
这是一股来自青青草原的神秘力量 团队信息 团队名称 青青草原战队 队伍成员 阮君曦 031702116(队长) 史恩泽 031702122 蓝飞鹏 031702112 张凌昕 031702105 林鑫 ...
- 【2017级面向对象程序设计】第2次成绩排行
作业地址 https://edu.cnblogs.com/campus/fzu/OOP/homework/1864 评分标准 1) C 流程图 or 文字描述程序结构 5分 C++ 类图 or 文字描 ...
- 【2017级面向对象程序设计】第3、4次成绩及排名
第三次作业 作业链接:https://edu.cnblogs.com/campus/fzu/OOP/homework/1879 互评评分标准 本次作业互测分数 15 分.评分标准参见作业页面. 成绩情 ...
- 2017《面向对象程序设计》作业四
2017<面向对象程序设计>作业四 林燊 031602325 https://www.cnblogs.com/linshen/ github链接:https://github.com/Tr ...
- 面向对象程序设计作业 6.1~6.4
面向对象程序设计作业 6.1-6.4 面对对象基础题三道.继承多态一道. #include <iostream> #include <string> #include < ...
- 2017福州大学面向对象程序设计寒假作业一
作业链接 第一次作业统计完成,本次作业满分10分,统计结果如下: 学号 姓名 博客 分数 111500206 赵畅 ZCplayground 9.5 031602211 盖嘉轩 031602211 8 ...
最新文章
- 为什么说卷积神经网络,是深度学习算法应用最成功的领域之一?
- listview 滑动以后设置最上面一行为整行展示
- python中 __name__及__main()__的妙处
- linux rcu机制,Linux RCU机制详解 (透彻)
- 信号与系统 chapter2 冲激偶函数与阶跃函数
- jquery截取字符串中的数字
- 致谢!华为全联接2020精彩回顾
- python中列表和集合的区别_python中列表和集合有什么区别
- xml Android 冒号,冒号字符在XML元素序列化过程中被编码为x003A
- js 将html 某个dom 导出pdf,并处理分页
- 树莓派设置静态ip地址
- mcinabox运行库下载_MCinaBox运行库
- 阿里云CDN配置步骤
- Java多用户商城源码/单商户商城系统源码
- 坚果J10和当贝F3体验分享,智能家用投影仪究竟应该怎么选?
- APP、PC客户端抓包、小程序\公众号
- “平步青云”:Oracle系统平台技术助力企业私有云建设
- MySQL数据库-删除表中的数据详解
- ARCGIS10.2加载天地图不显示
- C++入门——电影《老师好》剧情作业
热门文章
- C++ —— C++程序编译的四个过程
- 如何阅读一本书 pdf_《如何阅读一本书》:一本书,四个层次,看阅读小白如何逆袭?...
- pwn和逆向的区别_Pwn之简单patch
- JavaScript高级之函数进阶
- LeetCode 1258. 近义词句子(哈希+并查集+排序+回溯)
- ad域不去用frs_Windows Server 2008搭建AD域控服务器 - 小王同学!
- linux读取内存文件,linux – 使用模块读取内核内存
- phppage类封装分页功能_PHP封装的page分页类定义与用法完整示例
- python数据框循环生成_python - 如何在 Pandas 的for循环迭代中创建多个数据框?
- 苹果企业证书_IOS福利9月15日苹果企业证书已更新!重新下载即可!