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

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

时间:2024-11-17 11:40:05浏览次数:1  
标签:20241405 面向对象 对象 void 2024 2025 int 软件 设计

作业信息

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

教材学习内容总结

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)控制,它按照指令的顺序执行操作,并处理数据。
执行结果可能包括输出到屏幕、保存到文件或改变程序状态等。

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

C语言中函数void和int 有什么区别 什么时候使用
在C语言中,voidint 是用来声明函数返回类型的关键字,它们分别有不同的用途和含义:

void 关键字

  • 含义void 表示函数不返回任何值。
  • 使用场景
    • 当函数执行完毕后不需要返回任何值给调用者时,可以使用 void
    • 例如,一个用于打印信息的函数,它执行完毕后不需要返回任何数据,就可以声明为 void 类型。
void printHello() {
    printf("Hello, World!\n");
}

int 关键字

  • 含义int 表示函数返回一个整数类型的值。
  • 使用场景
    • 当函数需要返回一个整数值给调用者时,可以使用 int
    • 例如,一个计算两个数之和的函数,可以声明为 int 类型,并返回计算结果。
int add(int a, int b) {
    return a + b;
}

选择使用时机

  • 返回值需求:如果你的函数需要返回一个值,那么应该使用 int 或其他具体的数据类型来声明这个返回值的类型。
  • 无返回值:如果你的函数不需要返回任何值,那么应该使用 void
  • 类型安全:使用正确的返回类型可以保证类型安全,避免类型不匹配的问题。
  • 函数指针:在定义函数指针或者数组时,也需要指定函数的返回类型,这会影响如何正确地调用这些函数。

总的来说,voidint 的选择取决于你的函数是否需要返回值以及返回值的类型。正确地使用它们可以帮助你编写更清晰、更安全的代码。

基于AI的学习



标签:20241405,面向对象,对象,void,2024,2025,int,软件,设计
From: https://www.cnblogs.com/sztheihei/p/18550389

相关文章

  • 2024-2025-1 20241423 《计算机基础与程序设计》第八周学习总结
    作业信息这个作业属于哪个课程[2024-2025-1-计算机基础与程序设计]https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP这个作业要求在哪里2024-2025-1计算机基础与程序设计第一周作业这个作业的目标功能设计与面向对象设计、面向对象设计过程、面向对象语言三......
  • 华为OD机试 - 挑7 (Java 2024 E卷 100分)
    华为OD机试2024E卷题库疯狂收录中,刷题点这里。实战项目访问:http://javapub.net.cn/专栏导读本专栏收录于《华为OD机试(JAVA)真题(E卷+D卷+A卷+B卷+C卷)》。刷的越多,抽中的概率越大,私信javapub,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注......
  • 参与 2024 第四季度官方 Flutter 开发者调查
    Flutter3.24和Dart3.5稳定版发布已有三月之久,今年最后一次开发者调查也如约而至!自Flutter3.24正式发布以来,团队通过一系列补丁更新不断优化平台稳定性和开发体验,最新稳定版本为v3.24.5。这些更新涵盖了性能提升、工具改进以及多平台问题修复,例如改进iOS和Android......
  • 2024鹏城杯-misc
    网安第一课改zip解压找到key1key26iMmn76ucYG9PDtsvu解压之后上脚本fromPILimportImageimages=[Image.open(f"{i}.png")foriinrange(1,38)]qr_code=Image.new("RGB",(128,128),(255,255,255))foriinrange(37):img1=images[i]......
  • 2024-2025-1 学号20241315《计算机基础与程序设计》第八周学习总结
    作业信息这个作业属于哪个课程2024-2025-1-计算机基础与程序设计这个作业要求在哪里<作业要求的链接>https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08这个作业目标功能设计与面向对象设计面向对象设计过程面向对象语言三要素汇编、编译、解释、执行作......
  • 2024六安市第二届网络安全大赛-misc
    六安市第二届网络安全大赛复现misc听说你也喜欢俄罗斯方块?ppt拼接之后缺三个角补上flag{qfnh_wergh_wqef}流量分析流量包分离出来一个压缩包出来一张图片黑色代表0白色代表11010101000rab反的压缩包转一下密码:拾叁拾陆叁拾贰陆拾肆密文:4p4n575851324332474r324753574o594n5n574651......
  • 2024安徽省现代服务业-信息安全测试员
    加密的目标第一种方法:第二种方法:tcp流181ZmxhZ3s0ZTg0YTExZjQ0NDBhYzlhYWM2MTYyZTNmMTQ1YzI5Mn0flag{4e84a11f4440ac9aac6162e3f145c292}EZ_RSA共模攻击但是要先计算e1和e2直接`对ec1和ec2分别开3次方和5次方`,得到e1和e2的字符串,分别去除A和D,得到e1和e2,最后共模攻击......
  • 2024网鼎杯青龙misc04
    2024网鼎杯misc04Misc04首先看到一个杂乱的图片不过这是一个皮亚诺曲线上脚本fromPILimportImagefromtqdmimporttqdmdefpeano(n):ifn==0:return[[0,0]]else:in_lst=peano(n-1)lst=in_lst.copy()px,py=lst[-1]......
  • 2024鹏城杯-re
    2024鹏城杯-reRafflesia先去花指令a='H@^jHwpsH)[jH{M/\\tBBK_|-O{W.iJZ7\\)|~zaB^H+Lwv{SS|-j@\\_[Y'flag=''foriinrange(len(a)):flag+=chr(ord(a[i])^0x18)print(flag)PXFrPohkP1CrPcU7DlZZSGd5WcO6qRB/D1dfbyZFP3ToncKKd5rXDGCA接着是tls改了表H......
  • 2024强网杯-misc
    2024强网杯-misc谍影重重5.0打开发现是SMB流量,从NTLM流中找到数据来解密。用NTLMRawUnhide这个脚本一键提取出数据。下载下来运行一下Hashcat直接爆破babygirl233再用smb流量脚本解密跑出key,再导入这个时候发现有flag的压缩包导出来压缩包需要密码,接着可以看到流量包还有rdp的流......