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

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

1.被装饰者
{《HeadFirst设计模式》之装饰模式 }
{ 本单元中的类为被装饰者 }
{ 编译工具: Delphi7.0 }
{ E-Mail : xshlife@163.com }

unit uComponent;

interface

type
TBeverage = class(TObject) //抽象饮料类
protected
FDescription: String;
public
function GetDescription: String; virtual;
function Cost: Double; virtual; abstract;
end;

TEspresso = class(TBeverage) //浓咖啡饮料类
public
constructor Create;
function Cost: Double; override;
end;

THouseBlend = class(TBeverage) //具体HouseBlend饮料类
public
constructor Create;
function Cost: Double; override;
end;

TDarkRoast = class(TBeverage) //具体DarkRoast饮料类
public
constructor Create;
function Cost: Double; override;
end;

implementation

{ TBeverage }

function TBeverage.GetDescription: String;
begin
Result := FDescription;
end;

{ TEspresso }

function TEspresso.Cost: Double;
begin
Result := 1.99;
end;

constructor TEspresso.Create;
begin
FDescription := 'Espresso';
end;

{ THouseBlend }

function THouseBlend.Cost: Double;
begin
Result := 0.89;
end;

constructor THouseBlend.Create;
begin
FDescription := 'House Blend Coffee';
end;

{ TDarkRoast }

function TDarkRoast.Cost: Double;
begin
Result := 0.99;
end;

constructor TDarkRoast.Create;
begin
FDescription := 'Dark Roast Coffee';
end;

end.

2.装饰者
{《HeadFirst设计模式》之装饰模式 }
{ 装饰者既继承又组合被装饰者。继承 }
{ 在这里的意图主要是类型匹配 —— }
{ 与被装饰者是同一类型。 }
{ 编译工具: Delphi7.0 }
{ E-Mail : xshlife@163.com }

unit uDecorator;

interface

uses
uComponent;

type
TCondimentDecorator = class(TBeverage) //抽象装饰者
end;

TMocha = class(TCondimentDecorator) //具体装饰者:Mocha
private
FBeverage: TBever


相关文档:

Delphi图像处理

    本文的线性亮度/对比度调整方法是在《改进的图像线性亮度调整方法》一文中线性亮度调整方法与《Delphi图像处理 -- Photoshop图像亮度/对比度调整》中的对比度调整方法基础上形成的,其原理和特点可参见这2篇文章:
    过程定义:
// 线性调整亮度,Value亮度值
procedure ImageL ......

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

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

unit uPizzaIngredient;

interface

type
TDough = class(TObject)
end;

TThinCrustDough ......

delphi 类成员信息地址分析

 //定义MyClass
TMyClass = class
GUID: string;
Name: string;
bSex: Boolean;
Tel : string;
end;
//取值
var
obj: TMyClass;
begin
obj := TMyClass.Create;
with Memo1.Lines do
begin
Add('对象大小:' + IntToStr(obj.InstanceSize));
Add('对象所在地址:'+ ......

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 设计模式:《HeadFirst设计模式》Delphi7代码

1.主题与观察者
{《HeadFirst设计模式》之观察者模式 }
{ 主题与观察者 }
{ 编译工具 :Delphi7.0 }
{ 联系方式 :xshlife@163.com }

unit uWeatherReport;

interface

uses
Classes, SysUtils;

type
TObserver = class; { Forward声明,创建两个相 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号