1.1. 模式动机 考虑一个简单的软件应用场景,一个软件系统可以提供多个外观不同的按钮(如圆形按钮、矩形按钮、菱形按钮等), 这些按钮都源自同一个基类,不过在继承基类后不同的子类修改了部分属性从而使得它们可以呈现不同的外观,如果我们希望在使用这些按钮时,不需要知道这些具体按钮类的名字,只需要知道表示 ...
分类:
其他好文 时间:
2018-06-21 11:31:53
阅读次数:
129
一.初始化列表(初始化列表中必须有的两个内容) 1.类中const的成员变量: ①特点:不能修改 必须初始化 在构造函数后面加冒号 格式为:“:变量名(值)” 也就是说 常量必须在初始化列表中初始化 ②执行顺序:构造函数先执行初始化列表 然后执行函数中的内容 2.组合关系的类中的构造函数有参数: ① ...
分类:
编程语言 时间:
2018-06-18 16:09:11
阅读次数:
193
JAVA泛型1.概述泛型:即“参数化类型”。将类型由原来的具体类型参数化,类似于方法中的变量参数,此时类型同样定义为参数形式,只有在调用/运行时才传入具体的类型。泛型的本质:为了参数化类型,即在不创建新的类型的情况下,通过反省制定的不同类型来控制形参具体显限制的类型,也就是说在使用泛型的过程中,操作的数据类型被指定为某一参数时,改类型可以用在泛型类、泛型接口、泛型方法中。2.特性泛型只在编译阶段有
分类:
编程语言 时间:
2018-06-17 17:51:49
阅读次数:
173
namedClass:静态类型;与类型实现直接关联;可以用于初始化、类型检查等。 namedClass.self:@thick,脱敏(脱关)类型;动态类型;可以作为元类型的实例;可以作为类型参量进行传递;可以用于继承体系; 使用脱敏类型进行初始化时,需要与具体类型进行绑定。 namedClass.T ...
分类:
编程语言 时间:
2018-06-14 14:47:22
阅读次数:
504
前言:Spring IOC的初始化过程——基于XML配置(一)中,通过对Spring源码的调试,大致清楚其IOC的初始化过程,这里对IOC初始化过程中调用的关键函数进行总结。 注:截图中标记出了函数的所属类,也就是具体调用的哪个类中的函数,因为Spring的继承体系很大,标记出具体类,有助于理解。 ...
分类:
编程语言 时间:
2018-06-11 13:47:59
阅读次数:
217
成员内部类(声明在类内部且方法外的):1是外部类的一个成员:①可以有修饰符(4个)②static final ③可以调用外部类的属性、方法 2具体类的特点:①abstract ②还可以在其内部定义属性、方法、构造器 局部内部类(声明在类的方法里): 内部类作用: 实现了更好的封装,我们知道,普通类( ...
分类:
编程语言 时间:
2018-06-11 02:16:03
阅读次数:
223
1.抽象类 2.实现类 3、简单工厂类 4、测试方法 5.测试结果 ...
分类:
编程语言 时间:
2018-06-08 20:43:55
阅读次数:
188
简单工厂模式的不足: 在简单工厂模式中,只提供了一个工厂类,该工厂类处于对产品类进行实例化的中心位置,它知道每一个产品对象的创建细节,并决定何时实例化哪一个产品类。简单工厂模式最大的缺点是当有新产品要加入到系统中时,必须修改工厂类,加入必要的处理逻辑,这违背了“开闭原则”。在简单工厂模式中,所有的产 ...
分类:
编程语言 时间:
2018-06-02 22:15:11
阅读次数:
224
在 Java 中对于泛型类型,比如这样简单的类定义class Processor<T> {}如果直接初始化时要指定具体类型的话,我们可以这么写Processor<String> processor = new Processor<>(); //Java 7 及以上版本Spring 对基本泛型的初始化如果我们要用 Spring 容器来初始化这个类,比如
分类:
编程语言 时间:
2018-06-02 11:20:44
阅读次数:
398
?我们上节博客介绍了泛型编程思想,那么在 C++ 中是否可以将泛型的思想应用于类呢?答案肯定是显而易见的,在 C++ 中的标准库中,就是一些通用的类模板。我们先来看看类模板有哪些特性,它主要是用于存储和组织数据元素,类中数据组织的方式和数据元素的具体类型无关,如:数组类、链表类、Stack 类等。C++ 中将模板的思想应用于类,使得类的实现不关注数据元素的具体类型,而只关注类所需要实现的功能。 ?在 C++ 中的类模板是以相同的方式处理不同的类型,并且在类声明前使用 template 进行标识。< typename T > 用于说明类中使用的泛指类型 T。类模板只能显示指定具体类型,无法自动推导;使用具体类型(Type)定义对象。声明的泛指类型 T 可以出现在类模板的任意地方;编译器对类模板的处理方式和函数模板相同:即 a> 从类模板通过具体类型产生不同的类;b> 在声明的地方对类模板代码本身进行编译;c> 在使用的地方对参数替换后的代码进行编译。
分类:
其他好文 时间:
2018-06-01 21:36:00
阅读次数:
142