<面向对象程序设计>课程作业一
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) 掌 ...
随机推荐
- css固定背景图位置 实现屏幕滚动时 显示背景图不同区域
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- 倒水问题(Fill, UVa 10603)
[题目描述] 有三个没有刻度的水壶,容量分别为a,b和c(单位为升,都是<=200的正整数).初始时前两个水壶是空的,而第三个装满了水.每次可以从一个水壶往一个水壶里倒水,直到一个水壶倒空或者另 ...
- Spring Boot中使用AOP统一处理Web请求日志
AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.AOP是Spring框架中的一个重要内容,它通 ...
- C# 委托知识总结
原文地址:http://www.cnblogs.com/qingyuan/archive/2010/05/11/1732415.html 1.什么是委托,为什么要使用委托 我正在埋头苦写程序,突然想喝 ...
- 第一行代码 -3-2 软件也要拼脸蛋-UI界面-更强大的滚动条-RecyclerView
简述教程:https://www.jianshu.com/p/4fc6164e4709 一 基础准备 1 添加RecyclerView控件引用库文件 2 总布局添加RecyclerView控件 3 R ...
- MP实战系列(三)之实体类讲解
首先说一句,mybatis plus实在太好用了! mybaits plus的实体类: 以我博客的用户类作为讲解 package com.blog.entity; import com.baomido ...
- Ansible安装及配置
ansible分为以下几个部份: Ansible:核心引擎 Modules:包括 Ansible 自带的核心模块(core modules)及自定义模块 (custom modules): 核心模块: ...
- Photoshop 基础一 安装
安装 版本介绍 学习教程 一.安装 1)注册Adobe账号,注册地址:Adobe注册 2)下载地址:Adobe下载 下载地址2:百度经验 3)安装:试用期7天的版本 二.版本介绍 1)最新版本:A ...
- Web —— 在自己电脑搭建网站,发布到公网,并使用域名访问
导读 闲置着一台笔记本,想拿来作为服务器来玩,先拿来发布之前的毕业设计的博客系统,百度搜出的资料玉石难辨,而且大多数前篇一律,刚开始参考了大多数资料来设置还是没能真正发布成功,最后发现原来网上大部分提 ...
- C#中byte[]类型转换为其它类型
我们这里就举byte[]类型和long类型的转换,其它数据类型用BitConverter类以此类推: /// <summary> /// 字节数组转换为long类型 /// </su ...