1) 在Action实现类方面的对比:Struts 1要求Action类继承一个抽象基类;Struts 1的一个具体问题是使用抽象类编程而不是接口。Struts 2 Action类可以实现一个Action接口,也可以实现其他接口,使可选和定制的服务成为可能。Struts 2提供一个ActionSup...
分类:
其他好文 时间:
2014-07-17 11:17:19
阅读次数:
215
编程访问文件是通过文件流对象进行的,当应用程序需要访问文件时,必须先创建一个文件流对象,此流对象和文件是一一对应关系。在.NET中,使用抽象基类System.IO.Stream代表流,它提供Read和Write两个方法。由于数据流的有序性,因此流对象还有一个读写指针,为此,Stream类还有一个Se...
分类:
其他好文 时间:
2014-07-16 21:01:06
阅读次数:
275
顺序表的实现与分析引 --线性表的抽象基类:template
class LinearList
{
public:
LinearList();
~LinearList();
virtual int Size() const = 0; //返回线性表所能够存储的最大长度
virtual int Length() const = 0; //当前线性表的长度
...
分类:
编程语言 时间:
2014-07-16 14:37:36
阅读次数:
247
所谓模板方法模式,就是在在抽象基类中定义一套算法框架,框架内的步骤由各个派生类去实现。模板方法模式的好处在于,具有相同代码的操作提升至抽象基类中,派生类中只实现具有差异性的代码,从而最大程度减少了重复代码的存在。要注意的是,这里的模板方法和C++中的模板函数没有任何关系。下面以一个用C++描写的简单示例来说明模板方法模式的机制。
#include
#include
using names...
分类:
其他好文 时间:
2014-07-16 11:04:12
阅读次数:
207
策略模式:指对象(被称为上下文)有某个行为,但是在不同的场景中,该行为有不同的实现算法。我们可以把算法单独提出来形成一个继承体系,然后让上下文包含某个算法即可。这样,当我们需要添加算法时,只需要继承某个抽象基类然后实现自己的算法即可,不需要修改其它已经实现的算法;当需要修改某个上下文所包含的算法时,也只需要修改上下文内指向算法的指针即可。下面这个例子是使用C++编写的一个带策略模式的计算器:
...
分类:
其他好文 时间:
2014-07-14 13:34:47
阅读次数:
178
数组类型是从抽象基类 Array 派生的引用类型,通过new运算符创建数组并将数组元素初始化为他们的默认值 一维数组 type[] arrayname; 数组的长度不是声明的一部分,而且数组必须在访问前初始化。 foreach 语句声明一个迭代变量 —— 是数组的每个元素的只读副本 二维数组 typ...
分类:
其他好文 时间:
2014-07-09 22:41:45
阅读次数:
170
一. 问题
在面向对象系统的分析与设计过程中经常会遇到这样一种情况:对于某一个业务逻辑(算法实现)在不同的对象中有不同的细节实现,但是逻辑(算法)的框架(或通用的应用算法)是相同的。Template提供了这种情况的一个实现框架。
二. 模式
Template 模式是采用继承的方式实现这一点:将逻辑(算法)框架放在抽象基类中,并定义好细节的接口,子类中实现细节。
...
分类:
编程语言 时间:
2014-06-14 10:45:25
阅读次数:
250
1 【1】C#中的接口和类有什么异同。 2 3 不同点: 4 不能直接实例化接口。 5
接口不包含方法的实现。 6 接口可以多继承,类只能单继承。 7 类定义可在不同的源文件之间进行拆分(partial)。 8 9 相同点:10
接口、类和结构都可以从多个接口继承。11 接口类似于抽象基类:...
分类:
其他好文 时间:
2014-06-13 08:18:01
阅读次数:
243
Problem B: C++习题 虚函数-计算图形面积
Description
编写一个程序,定义抽象基类Shape,由它派生出5个派生类: Circle(圆形)、Square(正方形)、Rectangle(矩形)、Trapezoid(梯形)、Triangle(三角形)。
用虚函数分别计算几种图形面积,并求它们之和。
要求用基类指针数组,使它每一个元素指向一个派生类对象。
...
分类:
其他好文 时间:
2014-06-10 15:07:53
阅读次数:
286
Problem A: C++习题 抽象基类
Description
编写一个程序,声明抽象基类Shape,由它派生出3个派生类: Circle(圆形)、Rectangle(矩形)、Triangle(三角形),用一个函数printArea分别输出以上三者的面积(结果保留两位小数),3个图形的数据在定义对象时给定。
Input
圆的半径
矩形的边长
三角...
分类:
其他好文 时间:
2014-06-10 14:32:52
阅读次数:
170