2020-2021-1 20201316 《信息安全专业导论》第8周学习总结

2020 -2021-1 20201316 《信息安全专业导论》第八周学习总结

 

作业信息

这个作业属于哪个课程2020-2021-1信息安全专业导论
这个作业要求在哪里 (2020-2021-1信息安全专业导论第八周作业)
这个作业的目标 功能设计与面向对象设计 面向对象设计过程 面向对象语言三要素 汇编、编译、解释、执行
作业正文 https://www.cnblogs.com/cxzuishuai/p/14021351.html

 

教材学习内容学习

·

学习了面向对象设计的内容:1.头脑风暴(一种集体行为,为生成解决某个特定的问题要用到的候选类 的列表)

2.过滤(确定问题解决方案中的核心类)

3.场景(确定每个类的责任)

4.责任算法(为每个责任编写算法)

并区分面向对象设计与面向过程设计

·

了解编译器与解释器:编译器只输出机器码且机器码再单独执行,而解释器会在翻译语句后立即执行。

·

学习程序设计语言范型,包括命令式范型(又包括面向过程和面向对象范型)和声明式范型(函数式和逻辑式),并了解了一些java,c++,VB.Net语句和他们与python之间的区别

·

学习了继承(一个类可以继承另一个类的数据和方法)和多态(使语言能够消除同名操作的歧义)

教材学习中的问题和解决过程

·

问题1:什么是JAVA的可移植性?

问题1解决方案:主要是1.源代码可移植性 2.CPU可移植性 3.操作系统可移植性

具体内容链接:https://jingyan.baidu.com/article/148a19216eef954d71c3b12a.html

·

问题2:对于面向对象和面向过程还是不太理解

问题2解决方案:将这两者具体化

面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为

例如五子棋,面向过程的设计思路就是首先分析问题的步骤:1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回步骤2,9、输出最后结果。把上面每个步骤用分别的函数来实现,问题就解决了。

而面向对象的设计则是从另外的思路来解决问题。整个五子棋可以分为 1、黑白双方,这两方的行为是一模一样的,2、棋盘系统,负责绘制画面,3、规则系统,负责判定诸如犯规、输赢等。第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的i变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行判定。

可以明显地看出,面向对象是以功能来划分问题,而不是步骤。同样是绘制棋局,这样的行为在面向过程的设计中分散在了总多步骤中,很可能出现不同的绘制版本,因为通常设计人员会考虑到实际情况进行各种各样的简化。而面向对象的设计中,绘图只可能在棋盘对象中出现,从而保证了绘图的统一。

具体链接:https://wenda.so.com/q/1363263558060504?src=130&q=%E9%9D%A2%E5%90%91%E8%BF%87%E7%A8%8B%E4%B8%8E%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E7%9A%84%E5%8C%BA%E5%88%AB

学习进度条

 代码行数(新增/累计)博客量(新增/累积)学习时间(新增/累积)重要成长
目标 5000 30 450  
第一周 200/200 2/2 18  
第二周 50/250 3/5 15  
第三周 200/450 4/9 30 学会了base64解码编码,单精度浮点计算,罗马数字的转换
第四周 50/500 2/11 12  
第五周 100/600 3/14 12  
第六周 100/700 3/17 12  
第七周 50/750 1/18 10  
第八周 100/850 2/20 12  
posted @ 2020-11-22 20:57  20201316  阅读(98)  评论(0编辑  收藏  举报