作业信息
这个作业属于那个班级 https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP
作业要求 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08
作业目标 学习《计算机科学概论》第九章
作业正文
教材内容总结
在第九章“面向对象设计与高级程序设计语言”中,
* 程序设计语言范型
1.命令式范型:具有顺序执行指令的特征,变量的使用代表了内存地址,而使用赋值语句则改变这些变量的值。
(1)面向过程的范型
(2)面向对象的范型
2.声明式范型
(1)函数式模型:计算通过对函数求值来实现,而问题求解通过函数调用来实现。
(2)逻辑编程
* 高级程序设计语言的功能性
1.布尔表达式:一个标识符序列,标识符之间由相容的运算符分隔,求得的值是true或false。
(1)一个布尔变量
(2)一个算术表达式加一个关系运算符,再加一个算术表达式
(3)一个布尔表达式加一个布尔运算符,再加一个布尔表达式
2.数据归类
(1)强类型化
(2)数据类型:布尔型
3.声明
(1)保留字:具有特殊意义的字
(2)区分大小写
* 输入/输出结构
* 控制结构
(1)嵌套逻辑
(2)异步处理:与程序的操作不同步
* 面向对象语言的功能性
1.封装:实施信息隐蔽的语言特性
2.类:算法声明类的对象只有通过类的子程序访问类的字段。默认情况下,类中的字段是私有的。
3.继承:类获取其他类属性的机制。
4.多态:语言在运行时确定给定调用将执行哪些可能的方法的能力。
* 过程设计与面向对象设计的区别
学习中遇到的问题
Q:对面向对象和面向过程程序设计理解及区别?
A:
面向对象可以帮助我们从宏观上把握、从整体上分析整个系统。 但是,具体到实现部分的微观操作(就是一个个方法),仍然需要面向过程的思路去处理。
Q:对于继承的理解?其优点与缺点?
A:一个类调用另一个类中的属性和方法,一般来说会用两种最常用的方式:new一个对象,通过对象来调用类中的变量和方法,如果一个类的方法是静态的,那么直接用类名.方法的方式就可以调用。
继承的优点:提高代码的复用性,提高代码的维护性,并让类与类之间产生关系,是多态的前提。
继承的缺点:增强了类之间的耦合,软件开发的一个原则是高内聚、低耦合,内聚是一个模块内各个元素彼此结合的紧密程度,耦合是一个软件里面不同模块之间的互相连接的数量。
Q:如何理解封装与信息隐藏?
A:可以把封装和信息隐藏视为同一个概念的两种表述。信息隐藏是目的,封装是达到这个目的的技术。
封装可以被定义为对对象的内部数据表现形式和实现细节进行隐藏。要想访问封装过的对象中的数据,只有使用已定义的操作这一种办法。通过封装可以强制实施信息隐藏。许多面向对象语言都使用关键字来说明某些方法和属性应被隐藏。但在JavaScript中没有这样的关键字,我们将使用闭包的概念来创建只允许从对象内部访问的方法和属性。这比使用关键字的办法更复杂。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
第一周 | 0/0 | 3/3 | 20/20 | |
第二周 | 105/105 | 2/5 | 20/40 | |
第三周 | 150/255 | 2/7 | 20/60 | |
第四周 | 210/465 | 2/9 | 20/80 | |
第五周 | 280/745 | 2/11 | 20/100 | |
第六周 | 320/1065 | 1/12 | 20/120 | |
第七周 | 400/1465 | 1/13 | 20/140 | |
第八周 | 400/1865 | 1/14 | 20/160 |