<面向对象程序设计>课程作业一
Github链接
在看完这次的作业要求后我整个人是混乱的,因为作业要求把不同的函数放在一个main函数中;我们之前也是进行了函数分离,但是是放在了不同的文件中。如果要改的话相当于重写(而且这两种形式其实也都是在调用函数),绝不是星期日一个小时就能做完的,所以我和助教聊了一下:

在得到助教的回答后我又重新看了一遍代码,发现我们之前写的代码功能都混在一起了,没有办法完全分离成不同的函数,所以还是要重构。。。。
作业感想
虽然代码达到了要求,但是我还是不太了解到底什么是模块化,所以我又上网查了一下,看到了一位网友的回复,我觉得说的挺好的,所以和大家分享一下:
举例来说吧,比如你设计了3个不同用途的系统,而3个系统都恰好要用到同一个外部设备,假设这个外部设备是个液晶显器吧,那你就仅仅只要写一个液晶驱动(而不用写三个),设定好入口函数,3个不同用途的系统就都能用了,是不是很省事呢?
其他也一样,比如使用传感器,常常要多次采样取平均值,以提高准确性,那就可以做一个通用的计算平均值的子程序,需要的时候拿来用就行了,不用管这次是温度传感器、压力传感器还是加速度感器,全部通用,就不用每次都编了.这样就提高效率了嘛。
至于把各模块连接起来,这本来概念上就不对。模块不是连接的,而是被调用的。 设计程序时应当先设计主程序的流程图,再逐步细化,细化到一定程度自然就变成一个个模块的组合了。而在主程序中只是设置一些参数,然后调用模块完成相应的功能。
这次的作业主要还是想让我们进一步熟练的运用函数调用,然后进一步向模块化编程靠近,相信我们有一天能真正进行模块化编程
其他功能


<面向对象程序设计>课程作业一的更多相关文章
- 201771010128王玉兰《面向对象程序设计(Java)》课程学习总结
1.实验目的与要求 (1) 综合掌握java基本程序结构: (2) 综合掌握java面向对象程序设计特点: (3) 综合掌握java GUI 程序设计结构: (4) 综合掌握java多线程编程模型: ...
- 王之泰《面向对象程序设计(java)》课程学习总结
第一部分:理论知识学习部分 总复习纲要 1. Java语言特点与开发环境配置(第1章.第2章) 2. Java基本程序结构(第3章) 3. Java面向对象程序结构(第4章.第5章.第6章) 4. 类 ...
- 2018面向对象程序设计(Java)第18周学习指导及要求
2018面向对象程序设计(Java) 第18周学习指导及要求(2018.12.27-2018.12.30) 学习目标 (1) 综合掌握java基本程序结构: (2) 综合掌握java面向对象程序设 ...
- 2018面向对象程序设计(Java)第17周学习指导及要求
2018面向对象程序设计(Java)第17周学习指导及要求(2018.12.20-2018.12.23) 学习目标 (1) 掌握线程同步的概念及实现技术: (2) Java线程综合编程练习 学习资 ...
- 2018面向对象程序设计(Java)第16周学习指导及要求
2018面向对象程序设计(Java)第16周学习指导及要求(2018.12.13-2018.12.16) 学习目标 (1) 掌握线程概念: (2) 掌握线程创建的两种技术: (3) 理解和掌握线程 ...
- 2018面向对象程序设计(Java)第15周学习指导及要求
2018面向对象程序设计(Java)第15周学习指导及要求 (2018.12.6-2018.12.9) 学习目标 (1) 掌握Java应用程序打包操作: (2) 了解应用程序存储配置信息的两种方法 ...
- 2018面向对象程序设计(Java)第14周学习指导及要求
2018面向对象程序设计(Java)第14周学习指导及要求(2018.11.29-2018.12.2) 学习目标 (1) 掌握GUI布局管理器用法: (2) 掌握各类Java Swing组件用途及 ...
- 2018面向对象程序设计(Java)第13周学习指导及要求
2018面向对象程序设计(Java)第13周学习指导及要求 (2018.11.22-2018.11.25) 学习目标 (1) 掌握事件处理的基本原理,理解其用途: (2) 掌握AWT事件模型的工作机 ...
- 2018面向对象程序设计(Java)第12周学习指导及要求
2018面向对象程序设计(Java)第12周学习指导及要求 (2018.11.15-2018.11.18) 学习目标 (1) 掌握Java GUI中框架创建及属性设置中常用类的API: (2) 掌 ...
随机推荐
- .whl文件打开方式 Python
wheel文件本质上就是zip或者rar,只不过他更加方便python的安装以及使用.在之前的图片中我们只要使用pip install wheel 就可以安装wheel. 在安装了wheel之后我们可 ...
- Opaque data type--不透明类型
Opaque:对使用者来说,类型结构和机制明晰即为transparent,否则为Opaque In computer science, an opaque data type is a data ty ...
- 【洛谷】【最小生成树】P1536 村村通
[题目描述:] 某市调查城镇交通状况,得到现有城镇道路统计表.表中列出了每条道路直接连通的城镇.市政府"村村通工程"的目标是使全市任何两个城镇间都可以实现交通(但不一定有直接的道路 ...
- Class中的getClasses与getDeclaredClasses方法作用于区别
getClasses和getDeclaredClasses的区别: getClasses得到该类及其父类所有的public的内部类. getDeclaredClasses得到该类所有的内部类,除去父类 ...
- sysbench数据库压力测试
sysbench是一款压力测试工具,可以测试系统的硬件性能,也可以用来对数据库进行基准测试 wget https://github.com/akopytov/sysbench/archive/1.0. ...
- 在Windows中安装PostgreSQL
在Windows中安装PostgreSQL 虽然PostgreSQL是为类UNIX平台开发的,但它却是可以移植的.从7.1版本开始,PostgreSQL可以编译安装和作为一个PostgreSQL服务器 ...
- linux如何变更环境变量
一般有三种方法: 1.直接用export命令: #export PATH=$PATH:/opt/au1200_rm/build_tools/bin 查看是否已经设好,可用命令export查看: 2.修 ...
- 开放的dae模型
从网上看到了这段代码,就Copy过来了. 其实面对dae这种开放的模型格式,我们可以做很多事情,就像通常的XML文件一样. //------------------------------------ ...
- u-boot全面分析
uboot主Makefile分析1 uboot住Makefile分析参考:https://www.2cto.com/kf/201607/522424.html uboot version确定(Make ...
- Maven-SSM项目pom.xml配置以及springmvc配置以及mybatis配置及web.xml配置
一.Maven本地仓库的pom.xml配置 (全部是mysql数据库) <project xmlns="http://maven.apache.org/POM/4.0.0" ...