易截截图软件、单文件、免安装、纯绿色、仅160KB

Delphi 设计模式:《HeadFirst设计模式》Delphi7代码

     适配器模式的主要意图是对现有类的接口进行转换,以满足目标类的需求。其次,可以给目标类的接口添加新的行为(主要指方法)。这一点容易与装饰模式混淆。从意图方面来看,装饰模式不改变(通常指增加)接口中的行为(主要指方法),而是在原有行为(主要指方法)的基础上添加新的功能;从类结构方面来看,装饰模式中的装饰者既继承又组合被装饰者。类适配器同时继承现有类和目标类,对象适配器继承目标类组合现有类。
1.现有类,被转换接口者
{《HeadFirst设计模式》之适配器模式 }
{ 现有类 }
{ 编译工具:Delphi7.0 }
{ E-Mail :xshlife@163.com }

unit uAdaptee;

interface

type
TTurkey = class(TObject)
public
procedure Gobble; virtual; abstract;
procedure Fly; virtual; abstract;
end;

TWildTurkey = class(TTurkey)
public
procedure Gobble; override;
procedure Fly; override;
end;

implementation

{ TWildTurkey }

procedure TWildTurkey.Fly;
begin
Writeln('I''m flying a short distance.');
end;

procedure TWildTurkey.Gobble;
begin
Writeln('Gobble gobble.');
end;

end.

2.目标类
{《HeadFirst设计模式》之适配器模式 }
{ 目标类 }
{ 编译工具:Delphi7.0 }
{ E-Mail :xshlife@163.com }

unit uTarget;

interface

type
TDuck = class(TObject)
public
procedure Quack; virtual; abstract;
procedure Fly; virtual; abstract;
end;

TMallarDuck = class(TDuck)
public
procedure Quack; override;
procedure Fly; override;
end;

implementation

{ TMallarDuck }

procedure TMallarDuck.Fly;
begin
Writeln('I''m flying.');
end;

procedure TMallarDuck.Quack;
begin
Writeln('Quack.');
end;

end.

3.适配器
{《HeadFirst设计模式》之适配器模式 }
{ 适配器,转换现有类的接口 }
{ 编译工具:Delphi7.0 }
{ E-Mail :xshlife@163.com }

unit uAdapter;

interface

uses
uTarget, uAdap


相关文档:

悟透delphi 第八章 探索数据库

第一章  DELPHI的原子世界
第二章  DELPHI与WIN32时空
第三章  多线程
第四章  接口
第五章  包
第六章  事件与消息
第七章  组织你的模块
第八章  探索数据库
第九章  多层体系结构
第十章  操作界面与操作逻辑
第十一章  面向对象数据库基础
 空 ......

Delphi 设计模式:《HeadFirst设计模式》Delphi代码

1. 抽象工厂的产品
{《HeadFirst设计模式》工厂模式之抽象工厂 }
{ 抽象工厂的产品 }
{ 编译工具:Delphi7.0 }
{ E-Mail :xshlife@163.com }

unit uPizzaIngredient;

interface

type
TDough = class(TObject)
end;

TThinCrustDough ......

delphi 友元类

 在一个单元中声明的多个类互为友元类
type
TMyClass = class
GUID: string;
Name: string;
bSex: Boolean;
Tel : string;
end;
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
Button2: TButton;
procedure Button2Click(Sender: TObject);
procedu ......

delphi 继承类

 继承是为了表现类与类之间“是一种”关系,是多态存在的基础,继承是面象对象必不可少的基础,只支持封装而不支持继承的语言只能称为“基于对象”(Object-Based)面非面向对象“Object-Oriented”;
Object Pascal只支持单继承,也就是一个派生类只能有一个基类
但可以实现多个接口 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号