自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 软构学习笔记(11)--期末复习4-8章(根据老师复习提纲整理)

每个String的变量只能指向一个不可变的对象,如果需要将对象进行改变,就需要将变量指向新的改变之后的对象,最终产生两块内存空间,分别用来存储新旧两个对象。当数据类型的对应变量的值发生了改变,那么它对应的内存地址也会发生改变,对于这种数据类型,就称不可变数据类型。每个String Builder的变量可以指向一个可变的对象,如果需要将对象进行改变,则直接在当前变量指。这种数据类型一旦被创建,其值不能改变;当数据类型的对应变量的值发生了改变,而它对应的内存地址不发生改变,对于这种数据类型,就称。

2024-06-26 11:30:42 374

原创 软件构造学习笔记(10)--通过设计模式提高软件的可复用性和可维护性

目的:提供通用的、可复用的解决方案,以应对软件设计中常见的问题。好处:增加灵活性、减少引入新问题、允许在初始交付后增加更多功能。定义:设计模式是针对特定上下文中反复出现的问题的通用解决方案。设计模式是软件工程中的关键工具,它们帮助开发者构建更灵活、可维护和可扩展的系统。每种模式都针对特定的设计问题提供了解决方案,同时遵循开闭原则(OCP),即对扩展开放,对修改封闭。

2024-06-23 19:55:36 398

原创 软件构造学习笔记(9) --Construction for Change

学习笔记。

2024-06-20 11:23:19 454

原创 HIT-ICS-PA

1.1本次作业提供的hello.c是一个简单的 C 程序,它接受四个命令行参数:学号、姓名、手机号和秒数。如果参数数量不正确,程序会打印出使用方法并退出;如果参数数量正确,程序将进入一个循环,循环次数为10次。在每次循环中,它会打印出 "Hello" 后跟着输入的学号、姓名和手机号,然后程序会暂停运行,暂停的秒数等于输入的秒数。在循环结束后,程序会等待用户输入一个字符,然后结束运行。从实现过程上来看,可以简要的概括为P2P和020两个部分。Figure 1-1。

2024-06-13 07:30:00 883

原创 软件构造学习笔记(8) --ADT&&OOP的等价性

等价性是实现ADT的一部分,应为等价关系。等价性和hashCode必须一致,以确保如HashSet和HashMap这类使用哈希表的数据结构正常工作。抽象函数是不可变类型等价性的基础。引用等价性是可变类型等价性的基石,这是确保一致性并避免破坏哈希表RI的唯一方法。

2024-06-08 21:38:30 760

原创 软件构造学习笔记(7)--面向复用的软件构造技术

定义:利用现有软件组件来实现或更新软件系统的过程。重要性:提升代码质量、安全性和可复用性。软件复用是提升开发效率和软件质量的关键实践。设计可复用组件时,需考虑通用性、文档完备性和适应性。在设计API和框架时,应考虑易用性、灵活性和扩展性。

2024-06-06 21:19:34 455

原创 软件构造学习笔记(5)--面向对象编程 (OOP)

从 Simula 67 的诞生到 Smalltalk 的兴起,再到 C++ 和 Java 的广泛应用,OOP 不断地演进和完善。通过类的定义,我们可以创建具有相同属性和行为的多个对象实例。这不仅保护了对象的完整性,还减少了代码间的耦合度。不可变类是 OOP 中一个非常有用的模式,它提供了线程安全性,简化了并发编程的复杂性。继承允许我们创建基于现有类的新类,而多态则允许我们以统一的方式处理不同类型的对象。这些方法的重写需要我们对对象的相等性、散列码的一致性以及字符串表示有深入的理解。

2024-06-03 21:32:45 1409

原创 软件构造学习笔记(4)-- 习题课ADT的设计

这些笔记概括了文件中提到的主要概念和步骤,可以作为学习和复习的参考。此输出显示停车场“A1”有5个车位,其中60%被占用。

2024-05-31 10:09:47 421

原创 软件构造学习笔记(3)--第六节 抽象数据类型ADT

AF:将表示值映射到抽象值的函数。RI:定义哪些表示值是合法的,确保表示值与抽象值的一致性。

2024-05-30 21:50:39 476

原创 软件构造学习笔记(2)--第五节 设计规约

规约的强度和质量的讨论让我明白,一个好的规约应当在保证足够信息的同时,给予实现者一定的自由度。太强的规约会限制实现的灵活性,而太弱的规约则可能无法满足使用者的需求。规约的抽象性让我认识到,作为开发者,我们应当隐藏实现细节,只暴露必要的接口。学习到规约可以随着时间和需求的变化而演变,但这种变化应当是增强规约的强度,而不是削弱它。规约不仅帮助开发者和使用者之间建立清晰的沟通,而且也是代码质量和可维护性的保障。我对软件设计中的规约有了更深入的理解,也认识到了规约在确保软件质量和促进团队协作中的关键作用。

2024-05-29 15:33:04 306

原创 软件构造学习笔记(1)--第四节 数据类型与类型检查

数据类型:在编程语言中,数据类型定义了一组值和可以对这些值执行的操作。例如,布尔型、整型、浮点型和字符串类型。Java中的数据类型:Java拥有多种基本数据类型(如int、long、boolean等)和对象数据类型(如String、BigInteger等)。对象类型的层次结构:所有非基本类型都继承自Object类,形成了一个继承体系。装箱与拆箱:自动将基本类型转换为对应的对象类型,如Integer和Double等。操作符与操作:包括赋值(=)、算术运算符(+、-、*、/)、字符串连接(+)等。

2024-05-27 14:22:44 339

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除