2021-2022-1 20211322肖权城 《信息安全专业导论》第8周学习总结
2021-2022-1 20211322 《信息安全专业导论》第8周学习总结
作业信息
| 这个作业属于哪个课程 | [2020-2021-1信息安全专业导论](https://edu.cnblogs.com/campus/besti/2020-2021-1fois) | 
|---|---|
| 这个作业要求在哪里 | 2020-2021-1信息安全专业导论第8周作业 | 
| 这个作业的目标 | 功能设计与面向对象设计,面向对象设计过程,面向对象语言三要素,汇编、编译、解释、执行 | 
| 作业正文 | https://www.cnblogs.com/xiaoquancheng/ | 
教材学习内容总结
计算机科学导论
- 功能设计与面向对象设计
- 面向对象设计:底层概念:类和对象
- 对象:在问题背景中相关的事物或实体
 对象类或类:一组具有相似的属性和行为的对象的描述
 字段:表示类的属性
 方法:定义了类的一种行为的特定算法
- 设计方法与过程:
- 头脑风暴:一种集体求解的方法,包括集体中每个成员发言
 过滤:筛选去除重复
 场景:分配责任并封装数据与动作
 责任算法:为责任编写算法
- 翻译过程
- 翻译
- 编译器:把用高级语言编写的程序翻译成机器码的程序
- 解释器:输入用高级语言编写的程序,指导计算机执行每个语句指定的动作的程序
- 字节码:编译Java源代码使用的标准机器语言,任何具有JVM的机器都可以运行编译过的Java程序
- 翻译过程:将汇编语言输入到汇编器中,汇编器会将汇编语言翻译为机器语言,然后机器再执行机器语言
 
- 汇编,编译,解释和执行的区别
- 汇编:将汇编语言翻译为机器语言的行为
- 编译:将高级语言翻译为机器语言的行为,如DevC++时,输入的C语言代码需要先通过编译翻译为机器语言后才能运行程序
- 解释:对于源代码中的每一条指令,都依次翻译成目标指令,并且执行,这个行为是不会输出机器语言的,而是直接执行目标指令的
- 执行:即运行所写的代码或算法
- 面向对象语言的三要素:封装,继承,多态
看漫画学python
类的性质与方法
class Person:   【创造类】
    name='xiao quan cheng'
    age=20   【#对应人的特征  属性】
    def eat(self):    【 #对应人的行为   方法】
        print('eat more')
        pass
    def run(self):
        print('run fast')
        pass
类的调用,对象的创建
类相当于制造汽车的图纸,用这个图纸制造的汽车相当于对象
类:是具有一组 相同或者相似特征的【属性】和行为【方法】的一系列对象的集合
对象:是实实在在的一个东西,类的实例化,具象化
xiao=Person()
xiao.eat()  #调用类的方法
print('{}的年龄是{}'.format(xiao.name,xiao.age))   #调用类的属性
实例方法:在类的【内部】,使用def关键字来定义 第一个参数默认是self【名字标识可以是其他的名字,但是这个位置必须被占用】
属性:在类的内部定义的变量,定义在方法外面的属性称之为类属性,定义在方法里面的使用self引用的属性被称为实例属性
类属性:在类的内部定义的变量【类属性】
实例属性:在方法内部定义的【通过类似于self.变量名】变量
class People():
    def eat(self):
        print('eat more and more ')
        pass
xq=People()
xq.name='xiao qie'   #可在创建对象的时候添加实例属性
xq.sex='boy'
xq.age=20
xq.eat()
xl=People()
xl.name='xiao qie'   #可在创建对象的时候添加实例属性
xl.sex='boy'
xl.age=20
创建实例属性、
lass People():
    def __init__(self,name,sex):   
        self.name=name
        self.sex=sex
    def eat(self):
        print('eat more and more ')
        pass
xqc=People('肖权城','男性')       
print('{}的性别是{}'.format(xqc.name,xqc.sex))
cym=People('陈怡蒙','女孩')
print('{}的是一个{}'.format(cym.name,cym.sex))
关于私有变量的性质
在方法与变量性质前面加上--即为私有方法
只能在内部调用,外部无法调用、
若想要将私有变量调用,则可以采用函数的方法
class Dog:
    def __init__(self,name,age,sex='雌性'):
        self.name=name
        self.__age=age
    def get_age(self):
        return self.__age
    def change-age(self,age):
        self.__age=age
类的继承性
**可将父类的公有成员变量和方法全部继承 **
异常处理



教材学习中的问题和解决过程
- 问题1:不理解为什么面向对象语言的三要素是封装,继承,多态
- 问题1解决方案:查询网上资料,参考网站
- 问题2:不理解什么叫实例属性
- 问题2解决方案:查询资料,实例属性是指定义在方法里面的使用self引用的属性被称为实例属性,在方法内部定义的【通过类似于self.变量名】变量
代码调试中的问题和解决过程
- 问题1:init函数使用不来
- 解决方案:多读教材,使用双下划线
上周考试错题总结
1.The general case of a recursive solution determines when the recursion stops.
递归解决方案的一般情况决定了递归何时停止。
这个题的答案是错误,因为递归不全部由解决方案决定
学习进度条
| 代码行数 | 博客量 | 学习时间 | 重要成长 | 
|---|---|---|---|
| 目标 | 4000行 | 30篇 | 400小时 | 
| 第一周 | 100/100 | 2/2 | 1/1 | 
| 第二周 | 200/300 | 2/4 | 2/3 | 
| 第三周 | 100/400 | 1/5 | 4/7 | 
| 第四周 | 300/700 | 1/6 | 10/17 | 
| 第五周 | 300/1000 | 1/7 | 10/27 | 
| 第六周 | 300/1300 | 1/7 | 12/39 | 
| 第七周 | 400/1700 | 1/8 | 13/52 | 
| 第八周 | 300/2000 | 1/9 | 8/60 | 
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号