《计算机基础与程序设计》第九周

作业信息
这个作业属于哪个课程 <班级的链接>(如2024-2025-1-计算机基础与程序设计)
这个作业要求在哪里 <作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)
这个作业的目标 <写上具体方面>
作业正文 ... 本博客链接
教材学习内容总结
《计算机科学概论》第九章
第九章围绕面向对象设计和高级程序设计语言,阐述了核心概念、语言特性、设计原则以及建模语言相关内容,为理解和实践软件开发中的相关工作提供了重要知识基础。
一、面向对象设计基础
类与对象
类:是一种抽象的数据类型,作为对象的模板来定义对象具有的属性(数据成员)和行为(成员方法),规定了同一类对象共有的特征和操作。
对象:是类的具体实例,基于类的定义创建出来,每个对象都拥有各自独立的属性值,可调用类中定义的方法来实现相应行为。例如,定义 “学生” 类包含姓名、年龄等属性和学习、考试等方法,而具体某个叫 “张三” 的学生就是 “学生” 类的一个对象。
封装
将对象的属性和操作这些属性的方法包装在一起,对外隐藏内部实现细节,只通过特定的接口来访问和操作对象内的数据,以此增强数据安全性、提高代码可维护性,防止外部随意篡改数据。比如在银行账户类中,账户余额属性被封装,外部只能通过存款、取款等规定方法来操作余额。
继承
允许一个类(子类)获取另一个类(父类)的属性和方法,子类可以在继承的基础上添加、修改或重写自己特有的属性和方法,能有效减少代码冗余、提高复用性。例如 “哺乳动物” 类作为父类有呼吸、进食等方法,“猫” 类作为子类继承 “哺乳动物” 类后,还可添加如 “抓老鼠” 的特有方法。
多态
不同类的对象对同一消息(方法调用)能做出不同响应,具体表现为同一个方法名在不同类中有着不同的实现内容,增加了代码灵活性与可扩展性。像 “图形” 类有 “绘制” 方法,“圆形”“矩形” 等子类继承 “图形” 类后重写 “绘制” 方法,各自按自身图形特点来绘制。
二、高级程序设计语言特性
自动内存管理
许多高级语言自带自动内存管理机制,常见的如垃圾回收(Garbage Collection)。它能自动检测并回收程序中不再使用的内存空间,程序员无需手动去分配和释放内存,极大降低了因内存管理不当引发的错误,像 Java、Python 等语言都具备该特性。
异常处理
用于妥善处理程序运行期间出现的意外情况(异常),比如输入错误、运行时错误等。通过相应的语法结构(如 Java 中的 try-catch 语句块),程序可以捕获异常,并按设定的方式进行处理,避免因异常导致程序崩溃,保证程序能较为平稳地运行。
泛型编程
能够编写通用代码,使其适用于多种不同的数据类型,而不是局限于某一特定类型,提升了代码复用程度和可维护性。例如 C++ 中的模板(Templates),可以定义函数模板或类模板,能根据传入的不同类型参数进行相应的操作。
三、面向对象设计原则
单一职责原则
一个类应该只专注于完成一项主要职责,让类的功能更纯粹、内聚性更强,这样在后续维护或修改代码时,因职责明确而更容易操作,避免一个类承载过多功能,一处变动影响多处的情况。
开闭原则
要求软件实体(类、模块、函数等)对扩展是开放的,意味着可以方便地添加新功能;而对修改是封闭的,即尽量不改动已有代码就能实现功能扩展,以此保障软件的稳定性,减少因修改旧代码带来的潜在风险。
里氏替换原则
子类对象必须能够替换掉父类对象,并且替换后程序的行为和逻辑依然正确,强调了继承关系下代码的可替换性和兼容性,确保继承体系的合理与稳定。
四、UML(统一建模语言)相关知识
UML 图类型及作用
类图:核心的 UML 图,用于清晰展现系统中的各类、类的属性、方法以及类与类之间的关系(如关联、继承、聚合等),为系统架构设计和代码实现提供直观的参考蓝图。
对象图:是类图的实例化表达,展示特定时刻系统中实际存在的对象以及它们之间的相互关系,帮助理解系统运行时的具体状态。
用例图:着重描述系统的功能需求,体现用户与系统之间的交互关系,明确系统能为用户做什么,辅助进行需求分析和功能界定。
《C语言程序设计》第七章
第七章主要讲解了函数的概念以及函数的使用,递归函数,函数嵌套,以及变量的作用域生存域及其使用,并介绍了模块化程序设计的思维方法
例如递归函数
int factorial(int n) {
if (n == 0) {
return 1;

}
return n * factorial(n - 1);

}

教材学习中的问题和解决过程(先问 AI)
基于AI的学习
对课上不是很懂的知识点通过AI进行复习

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/835281.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java面试之多线程并发篇(5)

前言 本来想着给自己放松一下,刷刷博客,突然被几道面试题难倒!常用的线程池有哪些?简述一下你对线程池的理解?Java程序是如何执行的?锁的优化机制了解吗?说说进程和线程的区别?似乎有点模糊了,那就大概看一下面试题吧。好记性不如烂键盘 *** 12万字的java面试题整理 *…

阿里面试:1000万级大表, 如何 加索引?

本文原文链接 文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 :《尼恩Java面试宝典》 持续更新+ 史上最全 + 面试必备 2000页+ 面试必备 + 大厂必备 +涨薪必备 免费赠送 :《尼恩技术圣经+高并发系列PDF》 ,帮你 …

团队项目4——项目冲刺-6

每日站立式会议昨天已完成的工作: 杨睿:处理页面跳转、错误状态处理等内容 开发物业报修页面木萨江:对接住户相关接口巴音才次克:完善住户个人资料页面李佳聪:测试住户相关接口今天计划完成的工作: 杨睿:完成住户物业报修页面木萨江:完成住户车位查询页面巴音才次克:对…

Codeforces Round 987 (Div. 2) - 比赛总结

Preface 我是若只。 A. Penchick and Modern Monument 先吃三发罚时。 最优策略应当是把所有数都调成众数,然而我一开始就忙着往后面做,胡乱猜了个结论就 WA 了,又猜了一个又 WA 了,再猜了一个再 WA 了。点击查看代码 const int N=105; int n,a[N];int main() {int T; read…

小米笔记本Pro15锐龙版(R7 5800H/15G RAM/512G SSD)拆机单固态硬盘SSD扩容,无损迁移Win11系统,测速对比

1. 准备工作 1.1 梅花头螺丝刀 2.72米 1.2 新的固态硬盘 三星980 nvme m2固态硬盘,官方说读取速度能到3.5G,实测能到3.3G。 小米笔记本Pro15锐龙版的M.2插槽支持的是PCIE 3.0, 三星980支持的就是PCIE 3.0,够用了。 三星980 Pro支持的是PCIE 4.0,读取能到7G,但接口不支持,…

专题课:综合案例6

随机产生验证码首先,我们得想清楚,如何从数组里面随机取出一个元素,只要我们能从数组里取出1个元素,接下来再随机取出4个,不就组成一个验证码了么 . 1.取出一个随机元素: 说到随机,我们肯定会想到随机数,但我们该如何让随机数与我们的数组元素产生联系呢? 答:数组不管…

# 学期2024-2025-1 学号(20241405) 《计算机基础与程序设计》第8周学习总结

作业信息 |这个作业属于哪个课程|https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP| |这个作业要求在哪里|https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08| |这个作业的目标|功能设计与面向对象设计,面向对象设计过程,面向对象语言三要素,汇编、编译、解释、…

python岭迹图绘制函数

一.岭迹图是什么?岭迹图(Ridge Trace Plot)是一种可视化工具,用于展示岭回归中正则化参数($\alpha$)对回归系数的影响。它能帮助我们理解特征的稳定性和正则化在控制模型复杂度中的作用。 二.什么时候需要看岭迹图?存在共线性特征时当特征间高度相关,普通最小二乘法(O…

探索训练人工智能模型的词汇大小与模型的维度

前一篇:《人工智能同样也会读死书----“过拟合”》 序言:你看,人工智能领域的专家都在做什么?他们其实只是在不断试错,因为并没有一种“万能药”——一种万能的算法可以一次性设计出任何人工智能大模型来实现客户的需求。所有的模型在设计和训练过程中都是——验证结构——…

北美竞赛-加拿大计算机竞赛CCC-收获滑铁卢

给定一个 RCRC 的方格矩阵。 矩阵左上角方格坐标为 (0,0)(0,0),右下角方格坐标为 (R−1,C−1)(R−1,C−1)。 每个方格中要么有南瓜,要么有干草。 南瓜分为大、中、小三种。 初始时,一个农民位于方格 (A,B)(A,B)。 他可以朝上下左右四个方向自由移动,但是他不能走出矩阵,也…

BUU CODE REVIEW 1 1

BUU CODE REVIEW 1 1 打开实例发现php代码,代码审计一波看到unserialize(),初步判断这题存在php反序列化 分析代码:需要GET传参传入pleaseget=1 需要POST传参传入pleasepost=2 需要POST传入md51和md52,使得md51的md5加密后的MD5值弱相等,参数值不相等 需要POST传入obj,用来…

25 个值得关注的检索增强生成 (RAG) 模型和框架

大型语言模型 (LLM) 如 GPT-4 彻底革新了自然语言处理 (NLP) 领域,在生成类人文本、回答问题和执行各种语言相关任务方面展现出卓越的能力。然而,这些模型也存在一些固有的局限性:知识截止:LLM 的训练数据通常截止于特定时间点,使其无法获取训练后发生的事件或信息。 静态…