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

news/2024/11/16 23:10:52/文章来源:https://www.cnblogs.com/wujunlei/p/18550087

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

作业信息

这个作业属于哪个课程 <班级的链接>(如2024-2025-1-计算机基础与程序设计)
这个作业要求在哪里 <作业要求的链接>(如2024-2025-1计算机基础与程序设计第8周作业)
这个作业的目标 功能设计与面向对象设计,面向对象设计过程,面向对象语言三要素,汇编、编译、解释、执行
作业正文

教材学习内容总结

1.功能设计
功能设计主要关注软件应该具备哪些功能,即软件应该能够做什么。在这个阶段,开发者会基于需求分析的结果,定义软件需要实现的具体功能,并规划这些功能如何组合以满足用户的整体需求。功能设计通常包括以下几个方面:
‌功能定义‌:明确软件需要实现的具体功能点。
‌流程规划‌:设计实现这些功能的流程,包括用户如何与软件交互、软件内部如何处理数据等。
‌接口设计‌:定义软件对外提供的接口,包括用户接口(UI)和与其他系统交互的接口。
功能设计的目标是确保软件能够满足用户的需求,并提供清晰、直观的操作体验。
2.面向对象设计
面向对象设计则是在功能设计的基础上,进一步关注如何实现这些功能。它采用面向对象的思想和方法,将软件分解成一系列相互协作的对象,并通过这些对象之间的交互来实现软件的功能。面向对象设计主要包括以下几个方面:
‌识别类和对象‌:根据功能设计的结果,识别出软件中需要使用的类和对象,以及它们之间的关系。
‌定义属性和方法‌:为每个类定义属性和方法,属性用于存储对象的状态信息,方法用于描述对象的行为。
‌设计类之间的关系‌:包括继承、组合、关联等关系,以确保对象之间能够正确地协作。
‌接口设计‌:定义类之间的接口,以确保对象之间的交互能够顺利进行。
面向对象设计的目标是提高软件的可维护性、可扩展性和可重用性。通过将软件分解成一系列相对独立的对象,并定义它们之间的交互方式,可以使得软件更加模块化、易于理解和维护。
3.面向对象设计(Object-Oriented Design, OOD)是一个迭代和逐步精化的过程,旨在将需求分析阶段得到的需求转化为具体的软件设计。这个过程通常包括以下几个关键步骤:
‌需求分析‌:
虽然需求分析不是面向对象设计的直接部分,但它是设计过程的基础。在这个阶段,需要明确软件需要解决的问题、用户的需求以及软件的运行环境。
‌系统建模‌
使用面向对象的技术对系统进行建模,包括识别系统中的对象(类)和它们之间的关系。这通常涉及创建UML(统一建模语言)类图来可视化类、接口以及它们之间的关系。
‌识别类和对象‌:
在系统建模的基础上,进一步识别出具体的类和对象。这包括确定类的属性(描述对象状态的数据)和方法(对象可以执行的操作)。
‌定义类结构和层次‌:
设计类的层次结构,包括基类(父类)和派生类(子类)。使用继承机制来复用代码和建立类之间的逻辑关系。
‌建立对象之间的交互‌:
定义对象之间如何交互,包括消息传递、方法调用和协作模式。这可以通过UML序列图、活动图或协作图来表示。
‌接口设计‌:
定义类之间的接口,以确保对象之间的交互能够顺利进行。接口应该清晰、简洁,并且遵循面向对象的设计原则,如单一职责原则、开闭原则等。
‌设计模式应用‌:
在计中应用设计模式,以解决常见的设计问题。设计模式是经过验证的解决特定问题的方法模板,可以提高设计的质量和可维护性。
‌迭代和精化‌:
面向对象设计是一个迭代的过程。在设计过程中,需要不断地回顾和精化设计,以确保它满足需求,并且是可行的和高效的。
‌文档化‌:
将设计结果文档化,以便与团队成员和其他利益相关者共享。设计文档应该清晰、准确地描述设计决策、类结构、对象交互和接口定义。
‌验证和测试‌:
在设计完成后,需要进行验证和测试,以确保设计满足需求,并且是可实现的。这包括通过代码审查、单元测试、集成测试和系统测试来验证设计的正确性和有效性。
面向对象设计的目标是创建一个清晰、模块化、可扩展和可维护的软件系统。通过遵循面向对象的设计原则和最佳实践,可以开发出高质量的软件产品,满足用户的需求,并适应未来的变化和发展。
4.面向对象语言的三要素通常指的是‌封装性(Encapsulation)、继承性(Inheritance)和多态性(Polymorphism)‌。这三个要素是面向对象编程语言区别于传统结构化编程语言的重要标志,也是面向对象编程思想的核心。
‌封装性(Encapsulation)‌:
封装是指将对象的属性(数据)和行为(方法)结合在一起,形成一个独立的小单元,并对对象的数据进行隐藏和保护。
通过封装,可以实现对象内部数据的私有化和对外部访问的控制,从而增强程序的安全性和可维护性。
封装性使得对象内部的实现细节对外部不可见,外部只能通过对象提供的接口来访问和操作对象的数据和行为。
‌继承性(Inheritance)‌:
继承是指子类(派生类)能够继承父类(基类)的属性和方法,从而实现代码的重用和扩展。
通过继承,可以建立类之间的层次关系,使得子类能够复用父类的代码,并在父类的基础上添加新的属性和方法。
继承性还支持多态性,即允许子类重写父类的方法,以实现不同的行为。
‌多态性(Polymorphism)‌:
多态性是指允许不同类的对象对同一消息作出响应,或者说,允许一个接口使用不同的实例而执行不同操作。
多态性可以通过方法重载(Overloading)和方法重写(Overriding)来实现。
方法重载是指在同一类中,允许有多个同名方法,但它们的参数列表不同;方法重写是指在子类中,允许重写父类的方法,以实现不同的行为。
多态性使得程序具有更高的灵活性和可扩展性,能够处理更加复杂的情况和需求。
5.汇编‌:
汇编通常指的是将汇编语言(一种低级编程语言,接近机器码)转换为机器码的过程。
汇编语言由助记符(代表机器指令的符号)和操作数(指令操作的对象)组成。
汇编器(Assembler)是执行汇编过程的工具,它将汇编语言代码转换为机器码,以便计算机能够直接执行。
‌6.编译‌:
编译是将高级编程语言(如C、C++、Java等)的源代码转换为机器码或中间代码的过程。
编译器(Compiler)是执行编译过程的工具,它分析源代码的语法和语义,生成目标代码(机器码或中间代码)。
编译过程通常包括词法分析、语法分析、语义分析、中间代码生成、目标代码生成和优化等步骤。
编译后的代码通常被保存为可执行文件,可以独立运行,不需要源代码或编译器。
‌7.解释‌:
解释是逐行读取源代码,并立即执行每行代码的过程。
解释器(Interpreter)是执行解释过程的工具,它不需要将源代码转换为机器码,而是直接执行源代码中的指令。
解释过程通常较慢,因为每次运行程序时都需要逐行解释源代码。
解释语言(如Python、JavaScript等)通常用于快速开发和交互式编程环境。
8‌.执行‌:
执行是指计算机运行编译后的机器码或解释后的指令的过程。
执行过程由计算机的中央处理器(CPU)控制,它按照指令的顺序执行操作,并处理数据。
执行结果可能包括输出到屏幕、保存到文件或改变程序状态等。

教材学习中的问题和解决过程

1.形参与实参的区别


2.return的用处

3.什么是函数调用者

4.return a+b中的a+b会被执行吗,如果会被执行,那么结果将储存在哪里

基于AI的学习



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

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

相关文章

第二篇:Scrum冲刺博客

冲刺博客:Day 2 - 启动与规划 站立式会议照片: ![站立式会议 - Day 2](链接到Day 2的照片) 工作进展:许莹柔(机器学习工程师):昨日完成:阅读《构建之法》第六章,为模型训练做准备。 今日计划:开始数据集的预处理工作。 遇到的困难:无。肖晓霞(UI设计师):昨日完成:…

AtCoder Beginner Contest 380

A - 123233 题意给个\(6\)位数,判断是否是\(1\)个\(1\),\(2\)个\(2\),\(3\)个\(3\)。思路模拟。代码点击查看代码 #include <bits/stdc++.h> using namespace std; #define int long long typedef pair<int, int> pii;const int mxn = 1e6 + 5;void solve() {st…

数学分析

CH1 集合与映射 函数的定义?函数的定义必须要由映射引出来 CH2 数列极限 CH3 函数极限与连续函数 CH4 微分 CH5 微分中值定理及其应用 CH6 不定积分 CH7 定积分 CH8 反常积分

Astro搭建个人博客

大家好,我是Yinph。 今天给大家带来一篇关于如何使用Astro快速搭建个人博客的文章。 直接进入正题: 一、准备工作在Astro挑选一个自己心仪的博客模板 安装nodejs 一个GitHub账号,并建一个仓库 一个Cloudflare账号 一个Netlify账号 最好下载VS Code,方便以后修改博客:::note…

【C++复习】栈-下篇

大家好,这里是不会写开场白的Yinph。 今天我们先来复习一下中缀表达式、前缀表达式和后缀表达式,以及如何用栈来实现它们之间的运算。 一、中缀表达式 ‌‌中缀表达式‌是一种算术或逻辑公式的表示方法,其中操作符位于操作数的中间。这种表示方法符合人们的日常书写习惯,因…

gofiber: 模板:判断if条件

一,代码: 1,controller func (dc *ArticleController) GetArticle(c *fiber.Ctx) error {// 处理获取文章的逻辑article := new(Article)article.Id = 1article.Title = "三国演义金圣叹批本"article.Author = "罗贯中"user:=c.Query("user")m…

starrycan的pwn随笔——ELF文件和延迟绑定机制

一.ELF文件结构 0x01什么是ELF文件 1.linux环境中,二进制可持性文件的类型是ELF(Executable and LinkableFormat)文件。类似windows下的exe 2.elf文件的格式比较简单,我们需要了解的就是elf文件中的各个节、段等概念 3.程序elf的基本信息存在于elf的头部信息中,这些信息包括…

达梦数据库DM管理工具如何浏览数据,用条件筛选数据

前言 大家好,我是小徐啊。达梦数据库是我们一款常用的国产数据库,我之前一直在使用它。用起来和mysql和postgresql比起来,还是差不多的。而且它自带了数据库连接工具DM管理工具,使我们很方便的连接它。 今天,小徐就来介绍下如何用DM管理工具浏览数据,并且用条件去筛选数据…

标注图片怎么导出VOC格式和COCO格式

图片怎么标注参考 https://www.cnblogs.com/minseo/p/18549804下载 从github下载代码,或压缩包# git clone https://github.com/LabelMe/labelme转换 示例文件在以下路径# labelme-main\examples\instance_segmentation目录以及各个目录的用途如下打过标签的图片和json文件放以…

vscode Markdown文件如何使代码超出屏幕可视区域不换行

在编写Markdown文件的表格时,单元格内过长的内容会使得行超出可视区域,Markdown处理方式为单行用多行表示,如下图所示:这样会破坏表格的可读性,利用快捷键Alt+Z,可变为如下形式:使得表格每列对齐以增加可读性

20222325 2024-2025-1 《网络与系统攻防技术》实验六实验报告

1.实验内容 本实践目标是掌握metasploit的用法。 指导书参考Rapid7官网的指导教程。 https://docs.rapid7.com/metasploit/metasploitable-2-exploitability-guide/ 下载官方靶机Metasploitable2,完成下面实验内容。 (1)前期渗透 ①主机发现(可用Aux中的arp_sweep,search一…

[Linux]gdb基本使用

gdb基本使用 前提 gcc/g++编译出的程序默认是realease版本,要使用gdb调试,首先要在编译的时候加上-g选项。使用readelf -S [程序名]查看可执行文件的节区信息。使用gdb [程序名]:开始调试。q:退出调试。list/l [行号]:从给定的位置显示程序的源代码,每次十行。break/b [行…