1.基本概念 使用一个访问者类,改变元素类的执行算法,通过这种方式,元素的执行算法可以随着访问者改变而改变 目的:将数据结构与数据操作分离 应用实例:您在朋友家做客,您是访问者,朋友接受您的访问,您通过朋友的描述,然后对朋友的描述做出一个判断,这就是访问者模式。 UML 2.代码实现 1 packa ...
分类:
其他好文 时间:
2019-03-08 17:11:24
阅读次数:
149
一、泛型的目的 泛型解决的是:向下转型时存在的安全隐患; 泛型的核心是:在定义类或接口的时候,不需要显示地声明参数或属性的类型。 二、类中使用泛型 注:在类、接口或方法中,泛型可以定义多个,泛型的名称自定义; 注:使用泛型中,在显示指定具体类型时,只能是引用类型,不能是基本数据类型; 注:使用泛型中 ...
分类:
编程语言 时间:
2019-03-08 16:27:01
阅读次数:
182
1.在IDEA pom.xml 中添加 注意:代码中mainClass需要根据打包的具体类修改 2.在IDEA右侧栏中选择Maven Projects,打开Lifecycle文件夹,先点击compile再点击package,等待jar包完成。 jar包打完之后打开左侧target文件夹,发现有两个j ...
分类:
编程语言 时间:
2019-03-08 10:01:43
阅读次数:
255
抽象工厂,提供一个工厂接口,用于创建依赖对象的家族,不需要明确指定具体类。可以理解是多个工厂方法的组合。 例如一个款手机是有电池、相机、处理器、屏幕组成的,它其中包含了不同的对象,我们创建时需要创建多个不同类型的对象,而工厂方法只能创建一种类型的对象,满足不了这种需求。那我们可以把多个工厂方法组合到 ...
分类:
其他好文 时间:
2019-03-04 23:48:38
阅读次数:
289
封装 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法。 封装的优点: 便于使用者正确、方便的使用系统,防止使用者错误修改系统属性; 有助于建立各个系统之间的松耦合关系;提高软件的可重用性; 降低了大... ...
分类:
编程语言 时间:
2019-02-23 01:25:16
阅读次数:
236
面向对象有四大基本特征:封装、继承 、抽象、多态。 封装 封装是保证软件部件具有优良的模块性的基础,封装的目标就是要实现软件部件的“高内聚、低耦合”,防止程序相互依赖性而带来的变动影响。在面向对象的编程语言中,对象是封装的最基本单位,面向对象的封装比传统语言的封装更为清晰、更为有力。面向对象的封装就 ...
分类:
其他好文 时间:
2019-02-20 15:55:45
阅读次数:
175
1. 引言 2. 概念引入 ●什么是接口? 接口是包含一组虚方法的抽象类型,其中每一种方法都有其名称、参数和返回值。接口方法不能包含任何实现,CLR允许接口可以包含事件、属性、索引 器、静态方法、静态字段、静态构造函数以及常数。但是注意:C#中不能包含任何静态成员。一个类可以实现多个接口,当一个类继 ...
分类:
其他好文 时间:
2019-02-20 12:56:32
阅读次数:
165
什么是类型断言 因为接口是一般类型,不知道具体类型,如果要转成具体类型就要使用类型断言 先看简单的(报错的代码) 用类型断言,没用类型断言无法确定a就是Point类型: 再看一段: ...
分类:
其他好文 时间:
2019-02-17 23:42:45
阅读次数:
206
将一个类的接口转换成客户希望的另外一个接口。使得原本由于接口不兼容而不能一起工作的那些类可以一起工作 Target(目标抽象类):目标抽象类定义客户所需接口,可以是一个抽象类或接口,也可以是具体类。Adapter(适配器类):适配器可以调用另一个接口,作为一个转换器,对Adaptee和Target进 ...
分类:
其他好文 时间:
2019-02-12 23:13:55
阅读次数:
246
我们在用 JUnit 测试方法异常的时候,最容易想到的办法就是用 try…catch 去捕获异常,需要断言以下几个条件: 1. 确实抛出的异常 2. 抛出异常的 Class 类型 3. 抛出异常的具体类型,一般检查异常的 message 属性中包含的字符串的断定 所以常用的代码你可能会这么写: @T ...
分类:
其他好文 时间:
2019-02-04 10:16:59
阅读次数:
160