Delphi Éè¼ÆÄ£Ê½£º¡¶HeadFirstÉè¼ÆÄ£Ê½¡·Delphi7´úÂë
ÈÝÆ÷µÄÖ÷ÒªÖ°ÔðÓÐÁ½¸ö£º´æ·ÅÔªËØºÍä¯ÀÀÔªËØ¡£¸ù¾Ýµ¥Ò»Ö°ÔðÔÔò£¨SRP£©Òª½«¶þÕß·Ö¿ª£¬ÓÚÊǽ«ä¯ÀÀ¹¦ÄÜ´ò°ü·â×°¾ÍÓÐÁ˵ü´úÆ÷¡£
Óõü´úÆ÷·â×°¶Ô¶¯Ì¬Êý×éµÄ±éÀú£º
1.ÈÝÆ÷ÖеÄÔªËØÀà
{¡¶HeadFirstÉè¼ÆÄ£Ê½¡·Ö®µü´úÆ÷ģʽ }
{ ÈÝÆ÷ÖеÄÔªËØÀà }
{ ±àÒ빤¾ß£ºDelphi7.0 }
{ E-Mail £ºxshlife@163.com }
unit uItem;
interface
type
TMenuItem = class(TObject)
private
FName: String;
FDescription: String;
FVegetarian : Boolean;
FPrice: Double;
public
constructor Create(aName, aDescription: String;
aVegetarian : Boolean;
aPrice: Double);
function GetName: String;
function GetDescription: String;
function GetPrice: Double;
function IsVegetarian: Boolean;
end;
implementation
{ TMenuItem }
constructor TMenuItem.Create(aName, aDescription: String;
aVegetarian: Boolean;
aPrice: Double);
begin
FName := aName;
FDescription := aDescription;
FVegetarian := aVegetarian;
FPrice := aPrice;
end;
function TMenuItem.GetDescription: String;
begin
Result := FDescription;
end;
function TMenuItem.GetName: String;
begin
Result := FName;
end;
function TMenuItem.GetPrice: Double;
begin
Result := FPrice;
end;
function TMenuItem.IsVegetarian: Boolean;
begin
Result := FVegetarian;
end;
end.
2.µü´úÆ÷
{¡¶HeadFirstÉè¼ÆÄ£Ê½¡·Ö®µü´úÆ÷ģʽ }
{ µü´úÆ÷£º·â×°¶ÔÈÝÆ÷µÄ±éÀú }
{ ±àÒ빤¾ß£ºDelphi7.0 }
{ E-Mail £ºxshlife@163.com }
unit uIterator;
interface
uses
uItem;
type
TMenuItems = array of TMenuItem;
TIterator = class(TObject)
public
function HasNext: Boolean; virtual; abstract;
function Next : TObject; virtual; abstract;
end;
TDinerMenuIter
Ïà¹ØÎĵµ£º
ÉèÖÃͼÏñ¹Ø¼üÑÕÉ«£¬Ê¹Í¼ÏñµÄijÖÖ»òij¸ö·¶Î§µÄÑÕÉ«³ÉΪ͸Ã÷É«£¬ÊÇͼƬºÏ³É¡¢¶¯»ÏÔʾÖо³£ÓõÄͼÏñ´¦ÀíÊֶΡ£ÏÂÃæÊÇʵÏÖ´úÂ룺
¹ý³Ì¶¨Ò壺
// ÉèÖÃÉ«¼ü£¨Í¸Ã÷·¶Î§£©¡£colorLow µÍÉ«¼üÖµ; colorHigh ¸ßÉ«¼üÖµ
// µ±ÏñËØA¡¢R¡¢G¡¢Bֵͬʱ´óÓÚµÈÓÚcolorLowºÍСÓÚµÈÓÚcolorHighʱΪ͸Ã÷É«
procedu ......
ͼÏñµÄÖÐÖµÂ˲¨£¬¾ÍÊÇÔÚÒÔijһÏñËØÎªÖÐÐĵÄn½×ÏñËØ¾ØÕóÖУ¬ÕÒ³öR¡¢G¡¢B¸÷·ÖÁ¿µÄÖмäÖµÀ´·Ö±ðÌæ´ú¸ÃÏñËØµÄRGBÖµ£¬´Ó¶ø´ïµ½¶ÔͼÏñÔëÉùÂ˲¨µÄÄ¿µÄ¡£ÕâÀïµÄÖмäÖµ²¢·ÇÏñËØ¾ØÕóR¡¢G¡¢B¸÷·ÖÁ¿µÄµÄËãÊõƽ¾ùÖµ£¬¶øÊÇÏñËØ¾ØÕóR¡¢G¡¢B¸÷·ÖÁ¿ÅÅÐòºóµÄÖÐλÊýÖµ¡£
ÏÂÃæÊÇDelphiͼÏñÖÐÖµÂ˲¨µÄÊµÏ ......
±¾ÎĵÄÏßÐÔÁÁ¶È/¶Ô±È¶Èµ÷Õû·½·¨ÊÇÔÚ¡¶¸Ä½øµÄͼÏñÏßÐÔÁÁ¶Èµ÷Õû·½·¨¡·Ò»ÎÄÖÐÏßÐÔÁÁ¶Èµ÷Õû·½·¨Óë¡¶DelphiͼÏñ´¦Àí -- PhotoshopͼÏñÁÁ¶È/¶Ô±È¶Èµ÷Õû¡·ÖеĶԱȶȵ÷Õû·½·¨»ù´¡ÉÏÐγɵ쬯äÔÀíºÍÌØµã¿É²Î¼ûÕâ2ƪÎÄÕ£º
¹ý³Ì¶¨Ò壺
// ÏßÐÔµ÷ÕûÁÁ¶È£¬ValueÁÁ¶ÈÖµ
procedure ImageL ......
1. ²úÆ·Àà
{¡¶HeadFirstÉè¼ÆÄ£Ê½¡·¹¤³§Ä£Ê½Ö®¼òµ¥¹¤³§ }
{ ²úÆ·Àà }
{ ±àÒ빤¾ß £ºDelphi7.0 }
{ ÁªÏµ·½Ê½ £ºxshlife@163.com }
unit uProducts;
interface
type
TPizza = class(TObject)
public
procedure Prepare; virt ......