首页 > 编程语言 >2024-2025-1 20241411《计算机基础与程序设计》第八周学习总结

2024-2025-1 20241411《计算机基础与程序设计》第八周学习总结

时间:2024-11-17 20:07:18浏览次数:1  
标签:20241411 依赖 定义 2025 对象 程序 2024 面向对象 学习

作业信息

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

教材学习内容总结

  1. 功能设计与面向对象设计
    功能设计
    定义:功能设计主要关注系统或软件应该具备什么样的功能来满足用户需求。它侧重于从用户角度出发,确定软件需要完成的任务和操作流程。
    特点:以功能为核心,将系统看作是一系列功能模块的组合。在设计过程中,通常先进行需求分析,梳理出所有需要实现的功能点,然后对这些功能点进行详细设计,包括输入输出、数据处理等方面。

    面向对象设计
    定义:面向对象设计(OOD)是一种设计方法,它以对象为基础,将现实世界中的事物抽象成对象,对象包含数据(属性)和行为(方法)。通过对象之间的交互来实现系统功能。
    特点:具有封装性、继承性和多态性。封装性使得对象的内部数据和实现细节对外部隐藏,只提供公共的接口来访问对象的功能;继承性允许创建新的类(子类)来继承现有类(父类)的属性和方法,从而实现代码的复用;多态性使得不同对象对相同消息(方法调用)可以产生不同的响应。

  2. 面向对象设计过程
    需求分析、识别对象和类、 定义类的属性和方法、确定类之间的关系、设计用户界面(如果需要)

  3. 汇编、编译、解释、执行
    汇编
    定义:汇编语言是一种低级编程语言,它使用助记符来代替机器语言的二进制指令。汇编过程是将汇编语言源程序转换为机器语言目标程序的过程。
    特点:汇编语言与机器硬件密切相关,不同的CPU架构有不同的汇编语言。它能够直接访问和控制计算机硬件资源,如寄存器、内存等。但是,汇编语言的编程效率相对较低,因为它需要程序员对计算机硬件有深入的了解,并且代码的可读性和可维护性较差。

    执行
    定义:执行是指计算机运行程序的过程,无论是编译后的程序还是通过解释器解释执行的程序。在执行过程中,计算机的CPU按照程序中的指令序列,从内存中读取数据和指令,进行运算和操作,完成程序设定的任务。
    特点:执行的效率和程序的优化程度、计算机硬件的性能等因素有关。对于编译后的程序,执行速度通常较快,因为编译过程中已经进行了一些优化。而对于解释执行的程序,执行速度可能会受到解释器性能的影响。

教材学习中的问题和解决过程(先问 AI)

问题1:面向对象设计的原则有哪些?

  • 问题1解决方案:
    1.单一职责原则(SRP)
    定义:一个类应该只有一个引起它变化的原因,即一个类只负责一项职责。
    解释:如果一个类承担了过多的职责,那么这些职责的变化可能会影响这个类。例如,一个类既负责用户数据的存储,又负责用户界面的展示,当存储方式或者界面展示要求发生变化时,这个类就需要频繁修改,这样会导致代码的稳定性变差。
    2.开闭原则(OCP)
    定义:软件实体(类、模块、函数等)应该对扩展开放,对修改关闭。
    解释:这意味着当需要增加新功能时,应该通过扩展已有代码来实现,而不是修改已有的稳定代码。这样可以保证原有代码的稳定性,减少修改可能带来的错误。
    3.里氏替换原则(LSP)
    定义:子类型必须能够替换它们的父类型。也就是说,在任何使用父类型对象的地方,都可以用子类型对象来替换,而程序的行为不会发生改变。
    解释:这保证了继承关系的正确性和合理性。如果违反了这个原则,可能会导致程序出现错误或者不符合预期的行为。
    4.依赖倒置原则(DIP)
    定义:高层模块不应该依赖低层模块,二者都应该依赖抽象;抽象不应该依赖细节,细节应该依赖抽象。
    解释:这有助于降低模块之间的耦合度。当高层模块和低层模块都依赖抽象时,具体的实现可以方便地替换,而不会影响到其他模块。
    5.接口隔离原则(ISP)
    定义:客户端不应该被迫依赖于它不使用的接口。一个类对另一个类的依赖应该建立在最小的接口上。
    解释:这避免了客户端因为依赖不需要的接口而导致的复杂性增加和潜在的错误。将大的接口拆分成多个小的、专门的接口,可以使客户端只依赖自己需要的部分。
    6.迪米特法则(LoD),也叫最少知识原则
    定义:一个对象应该对其他对象有最少的了解。也就是说,一个类应该尽量减少对其他类的依赖,只和直接的朋友(成员变量、方法参数、返回值等)进行交互。
    解释:这样可以降低类之间的耦合度,使得系统更加灵活和易于维护。如果一个类过多地了解其他类的内部细节,当其他类发生变化时,这个类可能会受到很大的影响。

基于AI的学习

代码调试中的问题和解决过程

其他(感悟、思考等,可选)

学习进度条

|
| 代码行数(新增/累积)| 博客量(新增/累积)|学习时间(新增/累积)|重要成长
|
|
-------- | :----------------

标签:20241411,依赖,定义,2025,对象,程序,2024,面向对象,学习
From: https://www.cnblogs.com/wangsiqi828828/p/18551021

相关文章

  • 2024-2025-1 20241427 《计算机基础与程序设计》第8周学习总结
    作业信息这个作业属于哪个课程[2024-2025-1-计算机基础与程序设计]这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08这个作业的目标功能设计与面向对象设计,面向对象设计过程,面向对象语言三要素,汇编、编译、解释、执行作业正文https://......
  • 2024-2025-1 20241319 《计算机基础与程序设计》第八周学习总结
    作业信息这个作业属于哪个课程2024-2025-1-计算机基础与程序设计这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08这个作业的目标功能设计与面向对象设计面向对象设计过程面向对象语言三要素汇编、编译、解释、执行作业正文https:/......
  • 2024-2025-1 20241327 《计算机基础与程序设计》第八周学习总结
    作业信息|2024-2025-1-计算机基础与程序设计)||--|-|2024-2025-1计算机基础与程序设计第八周作业)||快速浏览一遍教材计算机科学概论(第七版),课本每章提出至少一个自己不懂的或最想解决的问题并在期末回答这些问题|作业正文|https://www.cnblogs.com/shr060414/p/18440575|教......
  • 2024-2025-1 20241316 《计算机基础与程序设计》第八周学习总结
    2024-2025-120241316《计算机基础与程序设计》第八周学习总结作业信息这个作业属于哪个课程[2024-2025-1-计算机基础与程序设计](https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP)这个作业要求在哪里2024-2025-1计算机基础与程序设计第八周作业(https://www.......
  • 20222323 2024-2025-1 《网络与系统攻防技术》实验五实验报告
    1.实验内容(1)从www.besti.edu.cn、baidu.com、sina.com.cn中选择一个DNS域名进行查询,获取如下信息:DNS注册人及联系方式该域名对应IP地址IP地址注册人及联系方式IP地址所在国家、城市和具体地理位置(2)尝试获取BBS、论坛、QQ、MSN中某一好友的IP地址,并查询获取该好友所在的具体......
  • 【星航计划】2024.11 Div. 3 题解
    2024--星航计划--十一月份--基础算法A.分段每一段连续的\(1\)之间是独立的,我们只需要关心一段连续的1的结果。可以证明对于一段连续的\(1\),最优策略是将其划分成多个单独的\(1\)以及可能余下的连续两个\(1\)。对于\(k\)个连续的\(1\),如果\(k\)是奇数,......
  • 学期2024-2025-1 学号20241317 《计算机基础与程序设计》第八周学习总结
    学期2024-2025-1学号20241317《计算机基础与程序设计》第八周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)这个作业的目标<写上具体......
  • 2024-2025-1 20241403 《计算机基础与程序设计》第八周学习总结
    学期(如2024-2025-1)学号(如:20241403)《计算机基础与程序设计》第八周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如2024-2025-1计算机基础与程序设计第八周作业)这个作业的目标功能......
  • 第十一届传感云和边缘计算系统国际会议 2025 11th International Conference on Senso
    重要信息官网:https://ais.cn/u/vEbMBz......
  • 20241023 模拟赛
    20241023模拟赛A.浇水考虑统计每个点被浇水了几次,容易用二维前缀和维护,最后如果这个点在对应颜色的矩阵里就扣除一个次数,最后有次数的就枯萎。B.藤养巴士赛时考虑树形dp,和树上差分解法殊途同归。设\(f_u\)表示,假设所有目标在\(u\)子树中的人都已经到了\(u\)子树中,......