2021-2022-1 20211410周意凯《信息安全专业导论》第八周学习总结
学习目标
- 功能设计与面向对象设计
- 面向对象设计过程
- 面向对象语言三要素
- 汇编、编译、解释、执行
材学习内容总结
计算机科学概论
编译器:
把高级语言编写的程序翻译成机器码的程序
解释器:
翻译高级语言后立即指导计算机执行,不用整个程序翻译完后执行。
面向对象设计过程:
头脑风暴,过略,场景,责任算法
面向对象语言三要素:
封装,继承,多态
封装(encapsulation):
把数据和动作集中在一起,使数据和动作的逻辑属性与他们的实现细节分离。实施信息隐蔽的语言特性。
用于提供封装的结构叫做类,类是一种语言结构,这种结构是对象的模式,为封装对象类的属性和动作提供了机制。
强类型化:
C++、Java、VB.NET是强类型的语言,每个变量都有一个类型,只有这种类型的值才能储存到该变量中。
DCI直接模式陷阱指令:
申明(declaration):
是把变量、动作或语言中的其他实体与标识符关联起来的语句,使程序员可以通过名字引用这些项目。
继承(inheritance):
是面向对象语言的一种属性,即一个类可以继承另一个类的数据和方法。超类 是被继承的类,派生类 是继承的类。类构成了继承的体系结构。所处的层次越低,对象就越专门化。下级的类 会继承其父类的所有行为和数据。
多态:
同名方法在不同类中的实现不同,方法前加对象即可确定类,选择实现方式。
面向对象的设计与面向过程的设计之间区别:
面向对象的设计通过封装隐蔽了过程,让用户可以直接操作;面向过程的设计中数据被呈现,数据结构和子程序是用户程序的一部分。
学python
python中的数据类型都是类,我们可以自定义类,即创建一种新的数据类型。
定义(Car)类的代码:
class Car(object):
pass #pass语句只用于维持程序结构的完整。冒号后面加,占位。
class 类名[(父类)]: #父类可以省略申明,表示直接继承object类
类体
(Car)类继承了object类,object类是所有类的根类。在python中任何一个类(除object)都直接或间接地继承了object类,直接继承时可省略(object)部分代码。
类相当于一个模板,依据这样的模板来创建对象,就是类的实例化,所以对象也被称为“实例”。
__init__()
类中 __init__() 方法 用来创建和初始化实例变量,叫做“构造方法”。
在定义__init__()方法时,它的第一个参数应该时self,之后的参数用来初始化实例变量。
linux
** | 竖杠可以让命令并行执行 **
grep命令的-c可以计算含文本样式的行数,但加入后其他参数就没用了
cat命令查看文件
代码调试中的问题和解决过程
linux里,分割文件的命令有split和csplit,两者有什么区别?
split只能对文件进行按行分割(-'行数')或按字节数分割(-b/-C #-C分割尽量保持每行的完整性),分为许多小文件
csplit按行进行一次分割,分成两个文件
上周考试错题总结
无
其他(感悟、思考等,可选)
python中的函数与方法:
方法属于类,通过类或对象调用方法 . 前的是对象;函数不隶属于任何类直接调用即可
学习进度条
|
代码行数(新增/累积) |
博客量(新增/累积) |
学习时间(新增/累积) |
重要成长 |
目标 |
5000行 |
30篇 |
400小时 |
|
第一周 |
0/0 |
2/2 |
15/15 |
|
第二周 |
0/0 |
2/4 |
20/35 |
|
第三周 |
300/300 |
1/5 |
22/57 |
|
第四周 |
500/800 |
2/7 |
23/80 |
|
第五周 |
600/1400 |
3/10 |
16/96 |
|
第六周 |
600/2000 |
3/13 |
16/112 |
|
第七周 |
600/2600 | 3/16 | 16/128 | |
第八周 |
700/3300 | 2/18 | 20/148 |