自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 关于Visitor模式

概念访问者(Visitor)模式:将作用于某种数据结构中的各元素的操作分离出来封装成独立的类,使其在不改变数据结构的前提下可以添加作用于这些元素的新的操作,为数据结构中的每个元素提供多种访问方式。它将对数据的操作与数据结构进行分离,是行为类模式中最复杂的一种模式结构特点先看一简单的UML类图结构首先需要定义一个抽象访问者(Visitor)角色,为每个具体元素类提供一个访问操作 visit() ,该操作中的参数类型标识了被访问的具体元素。 然后具体访问者(ConcreteVisito

2021-07-07 18:08:16 146

原创 关于java的equal方法和hascode方法

Equalequals()方法是用来判断其他的对象的引用相等,与==判断值相等有根本不同定义如下:public boolean equals(Object obj) { return (this == obj); } 有以下特点: 自反性(reflexive)。对于任意不为null的引用值x,x.equals(x)一定是true。 对称性(symmetric)。对于任意不为null的引用值x和y,当且仅当x.equals(y)是true时,y.equ.

2021-07-04 21:16:17 309

原创 关于装饰器模式思考

基本概念装饰器模式能够实现从一个对象的外部来给对象添加功能,有非常灵活的扩展性,可以在对原来的代码毫无修改的前提下,为对象添加新功能。除此之外,装饰器模式还能够实现对象的动态组合,借此我们可以很灵活地给动态组合的对象,匹配所需要的功能。基本结构基本步骤1. 首先要有一个底层接口,是所有子类共性的抽象2. 然后用一个具体类实现该接口,并且创建一个抽象类作为装饰器实现该接口3. 然后我们可以通过继承该抽象类Decorator来创建子类,添加新方法。4. 当我们需要...

2021-07-02 15:58:54 81

原创 哈工大CSAPP大作业-程序人生

目录 1.概述 2.预处理 3.编译 4.汇编 5.链接 6.进程管理 7.存储管理 8.IO管理1.概述在64位linux系统上通过一些开发调试工具(gcc,objdump,edb,readelf)来分析hello程序经过预处理、编译、链接、运行到结束的整个过程,重在分析hello每一阶段的变化,对比分析与前一阶段的差异,来展现每一阶段的工作。2.预处理简而言之,预处理就是对程序源代码文本中的预处理命令(#开头)进行处理在...

2021-06-27 18:28:49 455

原创 软件构造实验二

1. 实验目的本次实验训练抽象数据类型(ADT)的设计、规约、测试,并使用面向对象编程(OOP)技术实现ADT。具体来说:针对给定的应用问题,从问题描述中识别所需的ADT; 设计ADT规约(pre-condition、post-condition)并评估规约的质量; 根据ADT的规约设计测试用例; ADT的泛型化; 根据规约设计ADT的多种不同的实现;针对每种实现,设计其表示(representation)、表示不变性(rep invariant)、抽象过程(abstraction fu..

2021-06-27 16:10:50 256 1

原创 软件构造实验一

实验目的本次实验通过求解三个问题,训练基本 Java 编程技能,能够利用 Java OO 开发基本的功能模块,能够阅读理解已有代码框架并根据功能需求补全代码,能够为所开发的代码编写基本的测试程序并完成测试,初步保证所开发代码的正确性。另一方面,利用 Git 作为代码配置管理的工具,学会 Git 的基本使用方法。基本的 Java OO 编程基于 Eclipse IDE 进行 Java 编程基于 JUnit 的测试基于 Git 的代码配置管理实验配置 1.下载Jdk .

2021-06-23 14:33:11 103

空空如也

空空如也

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

TA关注的人

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