编程访问文件是通过文件流对象进行的,当应用程序需要访问文件时,必须先创建一个文件流对象,此流对象和文件是一一对应关系。在.NET中,使用抽象基类System.IO.Stream代表流,它提供Read和Write两个方法。由于数据流的有序性,因此流对象还有一个读写指针,为此,Stream类还有一个Se...
分类:
其他好文 时间:
2014-07-16 21:01:06
阅读次数:
275
重载和重写搞的差不多了,隐藏有有点混乱了,在此记一下,留作后看成员函数被重载的特征(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual 关键字可有可无。重写(覆盖)是指派生类函数覆盖基类函数,--这是c++多态的标志,虚函数赋零则变成虚基类(纯粹的接口申明类),...
分类:
其他好文 时间:
2014-07-16 20:50:54
阅读次数:
131
正如其名,简单工厂,比较简单,直接给出一个计算器的demo(可以参见大话设计模式,按照自己的想法写的,有些许不同)1。 工厂中我们的switch也可以写到配置文件中,通过反射的方式创建操作对象。例如:使用工厂的核心:可以封装易变的部分到工厂中,外界一般使用基类对象或接口,来达到依赖导致的目的。 系统...
分类:
其他好文 时间:
2014-07-16 20:31:30
阅读次数:
195
首先让所有窗体继续一个基类窗体新建一个基类窗体,如SkinForm去掉构造函数,加上一个皮肤对象 public partial class SkinForm: XtraForm { public static DevExpress.LookAndFeel.DefaultLookAndFee...
工场方法模式对简单工场模式进行了乔庙的扩展,不是用一个专门的类来决定实例化哪一个子类。相反,超类把这种决定延迟到每个子类。这种模式实际上没有决策点,就是没有直接选择一个子类实例化的决策。 看书上的例子有点复杂,自己写了一个简单例子:示例目标:对数组进行定向排序基类FormatList对指定数组...
分类:
其他好文 时间:
2014-07-16 20:06:42
阅读次数:
129
抽象工厂模式比工厂模式具有更高层次的抽象性。当要返回一系列相关类中的某一个,而每个类都能根据需要返回不同的对象时,可以选择这种模式。直接进入示例。示例描述:完成花园的规划,多种花园种类,每个里面多种植物 编写一个基类Garden,Garden就是抽象工厂。它定义了具体类中的方法,并返回一系列相...
分类:
其他好文 时间:
2014-07-13 10:47:43
阅读次数:
207
访问者模式,就是我们已经有一系列的对象了,那么就可以使用一个visitor对象一次性遍历所有的对象,就好像这个visitor访问了所有这些对象一样,所以就叫访问者模式。
实现起来也很简单,就是三个基类,其他类都是这些基类的衍生类。
下面的Action类就是访问者类了,而Person类就是被访问的对象类,而House是一个接待容器,可以接待不同的Action类。
#include
#incl...
分类:
其他好文 时间:
2014-07-12 22:22:16
阅读次数:
205
经验:绝对不要重新定义继承而来的 non-virtual 函数 --> Item 7 "为多态基类声明 virtual 析构函数" 是本条款的特例
示例:
class B{
public:
void mf();
//...
};
class D: public B{
public:
void mf(); // 遮掩了B::mf,Item 33 名称遮掩规则
}
D x;
B *pB = &x;
D *pD = &x;
pB->mf(); // 调用 B::mf
pD->mf(); // 调用 ...
分类:
编程语言 时间:
2014-07-12 19:09:10
阅读次数:
234
-- Lua中类的实现
-------------------------------- 基类 ----------------------------
classBase = {x = 0,y = 0} -- x,y为类的成员变量
classBase.__index = classBase -- 这句是重定义元表的索引,必须要有
--模拟构造体,一般名称为new()
f...
分类:
其他好文 时间:
2014-07-12 17:03:30
阅读次数:
164
6.5继承当然,一门语言特性假设不支持继承那么名称类就失去了价值。子类继承父类的方法例如以下:classDerivedClassName(BaseClassName):...名称BaseClassName必须定义在一个包括派生类定义的作用域中。在基类名称的位置上,其它任意表达式都是同意的、比如,当基...
分类:
编程语言 时间:
2014-07-12 15:20:08
阅读次数:
169