自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【哈工大软件构造】七大设计模式之行为类模式

原因:有多种不同算法来解决同一个任务,但客户端需要动态切换算法,而不是写死在代码里。解决方案:为不同的实现算法构造抽象接口,运行时动态传入客户端倾向的算法类实例。优点:对新的算法实现易于拓展,将算法与客户端实现分离。我们定义一个环境角色类:抽象策略类:具体策略类:客户端:缺点:原因:几个客户端共享相同的算法,但在具体细节上有所不同,即一个算法由可定制的部分和不变的部分组成。公共步骤不应该在子类中重复,但需要重复使用。(做事情的步骤一样,但具体方法不同)。解决方案:共性的步骤在抽象类里

2022-06-08 21:10:45 137 1

原创 【哈工大软件构造】七大设计模式之结构型模式

将某个类或者接口转化为客户端期望的形式,从而:适配器模式(Adapter)包含以下主要角色。适配者类:目标接口:现在,我们需要在目标接口中的 request() 调用 Adaptee 的 adapterRequest() 方法。我们可以构造一个适配器类,该类继承了适配者类,同时实现了目标接口。这样,在客户端调用时,我们就可以使用Target接口里的方法调用到适配者类里的方法。打个比方,可以把适配者和适配器看成中国人和外国人,它们之间是不能直接交流的,因而我们需要借助翻译器将中文翻译成外文,

2022-06-08 11:06:50 118

原创 【哈工大软件构造】七大设计模式之创建型模式

工厂方法也叫作虚拟构造器。工厂父类负责定义创建产品对象的公共接口,而工厂子类则负责生成具体的产品对象,这样做的目的是将产品类的实例化操作延迟到工厂子类中完成。当客户端不知道创建哪个类的具体实例,或者不想在客户端代码中指定具体创建的实例时,使用工厂方法。...

2022-06-07 22:02:46 115

原创 【哈工大软件构造】特殊多态(方法重载)

定义:一个方法可以有多个同名的实现,即方法重载。当一个函数适用于多种不同的类型时,就会出现特殊多态,例如:重载使得多种不同的方法有了同样的名字,但有不同的参数列表或者返回值类型。作用:方便客户端调用,客户端可以用不同的参数列表调用同样的函数。重载方法属于静态多态,它会根据参数列表进行静态匹配,在调用位置进行静态类型检查,在编译时具体决定执行什么方法(与之相反,方法重写需要在运行时进行动态检查)。我们定义若干动物类如下:注意:这里子类和父类的eat方法之间是重载的关系,因为它们的方法签名不同。我们

2022-06-06 10:11:21 210

原创 【哈工大软件构造】面向对象的编程OOP

基本概念:对象、类、参数和方法一个对象由一组状态和行为构成。状态指一个对象中包含的数据,在Java中指对象的字段。行为指一个对象所支持的行动,在Java中称为方法(方法是函数的面向对象说法)。一个类定义了方法和字段。方法和对象统称为成员。类定义了类型和实现,类型决定了它将会在哪里使用,实现定义了这个对象的行为方式。粗略地说,一个类的方法就是它的API,定义了用户如何与实例进行交互。接口...

2022-05-31 21:51:46 100

原创 【哈工大软件构造】抽象数据类型(以Java为例)

数据抽象数据抽象:指一组操作刻画的数据类型,例如:Number:一种可以进行加法和乘法操作的数据类型。String:一种可以进行连接和取子串的数据类型。对我们传统的数据类型来说,我们往往会关注数据的具体表示,而抽象数据类型更关注作用于数据上的操作,程序员和客户端不需要关注数据具体是如何实现的,只需要设计/使用即可。例如,我们可以使用如下操作来定义一个列表:List list1 = new ArrayList();List list2...

2022-05-16 17:55:00 437

原创 【哈工大软件构造】设计规约&注释应该怎么写?

什么是规约规约是软件构造中一种常用的手段,它规定了每个方法的作用,是在编程之前对各部分模块的总体设计。规约在软件构造中起到了“防火墙”的作用,调用它的客户端不需要知道这个方法是如何实现的,实现者也不需要知道调用者用它做什么,起到了解耦的效果。规约的内容与结构规约的内容输入/输出的数据类型。 功能和正确性期望。 性能要求。规约的结构前置条件:对客户端的约束,在使用方法时必须满足的条件。 后置条件:对开发者的约束,方法结束时必须满足的条件。 契约:如果前置条...

2022-05-15 21:49:23 302

原创 哈工大CSAPP大作业:程序人生-Hello’s P2P

​计算机系统大作业题目程序人生-Hello’s P2P专业计算学部学  号120L021818班 级2003006学生秦梓涵 指导教师吴锐 计...

2022-05-15 17:55:57 2393

原创 [哈工大软件构造]Git与GitHub应该如何使用

Git的下载与安装 Git可以在Git的官网下载:Git下载地址。点击Download 2.36.0 for Windows即可获得安装包 ,安装后会自动为你配置环境变量。运行命令提示行,输入git --version,显示如下说明已成功安装:有些同学可能通过其他方式下载Git,并且未配置环境变量,此时命令行会提示git不是内部或外部命令,也不是可运行的程序。下面给出两种解决方案:方案1 配置环境变量打开环境变量窗口-->Path,添加"安装目...

2022-04-30 21:47:36 1043 1

空空如也

空空如也

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

TA关注的人

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