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ÓëWIN32ʱ¿Õ
µÚÈýÕ ¶àÏß³Ì
µÚËÄÕÂ ½Ó¿Ú
µÚÎåÕÂ °ü
µÚÁùՠʼþÓëÏûÏ¢
µÚÆßÕ ×éÖ¯ÄãµÄÄ£¿é
µÚ°ËÕ ̽Ë÷Êý¾Ý¿â
µÚ¾ÅÕ ¶à²ãÌåϵ½á¹¹
µÚʮՠ²Ù×÷½çÃæÓë²Ù×÷Âß¼
µÚʮһÕÂ ÃæÏò¶ÔÏóÊý¾Ý¿â»ù´¡
µÚÊ®Ò»Õ ......
±¾ÎĵÄÏßÐÔÁÁ¶È/¶Ô±È¶Èµ÷Õû·½·¨ÊÇÔÚ¡¶¸Ä½øµÄͼÏñÏßÐÔÁÁ¶Èµ÷Õû·½·¨¡·Ò»ÎÄÖÐÏßÐÔÁÁ¶Èµ÷Õû·½·¨Óë¡¶DelphiͼÏñ´¦Àí -- PhotoshopͼÏñÁÁ¶È/¶Ô±È¶Èµ÷Õû¡·ÖеĶԱȶȵ÷Õû·½·¨»ù´¡ÉÏÐγɵ쬯äÔÀíºÍÌØµã¿É²Î¼ûÕâ2ƪÎÄÕ£º
¹ý³Ì¶¨Ò壺
// ÏßÐÔµ÷ÕûÁÁ¶È£¬ValueÁÁ¶ÈÖµ
procedure ImageL ......
//¶¨Òå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('¶ÔÏóËùÔÚµØÖ·£º'+ ......
ÊÊÅäÆ÷ģʽµÄÖ÷ÒªÒâͼÊǶÔÏÖÓÐÀàµÄ½Ó¿Ú½øÐÐת»»£¬ÒÔÂú×ãÄ¿±êÀàµÄÐèÇ󡣯ä´Î£¬¿ÉÒÔ¸øÄ¿±êÀàµÄ½Ó¿ÚÌí¼ÓеÄÐÐΪ£¨Ö÷ÒªÖ¸·½·¨£©¡£ÕâÒ»µãÈÝÒ×Óë×°ÊÎģʽ»ìÏý¡£´ÓÒâͼ·½ÃæÀ´¿´£¬×°ÊÎģʽ²»¸Ä±ä£¨Í¨³£Ö¸Ôö¼Ó£©½Ó¿ÚÖеÄÐÐΪ£¨Ö÷ÒªÖ¸·½·¨£©£¬¶øÊÇÔÚÔÓÐÐÐΪ£¨Ö÷ÒªÖ¸·½·¨£©µÄ»ù´¡ÉÏÌí¼ÓÐµĹ¦ÄÜ£»´ÓÀà½á¹¹· ......
1.²ßÂÔÀà
{¡¶HeadFirstÉè¼ÆÄ£Ê½¡·Ö®²ßÂÔģʽ }
{ ±¾µ¥ÔªÖеÄÀàΪ²ßÂÔÀà }
{ ±àÒ빤¾ß: Delphi7.0 }
{ E-Mail : xshlife@163.com }
unit uStrategy;
interface
type
{·ÉÐнӿڣ¬¼°ÆäʵÏÖÀà }
IFlyBehavior = Interface(IInterface)
procedure Fly;
......