DELPHIµÄÖ¸Õë
´ó¼Ò¶¼ÈÏΪ£¬CÓïÑÔÖ®ËùÒÔÇ¿´ó£¬ÒÔ¼°Æä×ÔÓÉÐÔ£¬ºÜ´ó²¿·ÖÌåÏÖÔÚÆäÁé»îµÄÖ¸ÕëÔËÓÃÉÏ¡£Òò´Ë£¬ËµÖ¸ÕëÊÇCÓïÑÔµÄÁé»ê£¬Ò»µã¶¼²»Îª¹ý¡£Í¬Ê±£¬ÕâÖÖ˵·¨Ò²ÈúܶàÈ˲úÉúÎó½â£¬ËƺõÖ»ÓÐCÓïÑÔµÄÖ¸Õë²ÅÄÜËãÖ¸Õë¡£Basic²»Ö§³ÖÖ¸Õ룬Ôڴ˲»ÂÛ¡£Æäʵ£¬PascalÓïÑÔ±¾ÉíÒ²ÊÇÖ§³ÖÖ¸ÕëµÄ¡£´Ó×î³õµÄPascal·¢Õ¹ÖÁ½ñµÄObject Pascal£¬¿ÉÒÔ˵ÔÚÖ¸ÕëÔËÓÃÉÏ£¬Ë¿ºÁ²»»áÑ·É«ÓÚCÓïÑÔµÄÖ¸Õë¡£
ÒÔÏÂÄÚÈÝ·ÖΪ°Ë¸ö²¿·Ö£¬·Ö±ðÊÇ
Ò»¡¢ÀàÐÍÖ¸ÕëµÄ¶¨Òå
¶þ¡¢ÎÞÀàÐÍÖ¸ÕëµÄ¶¨Òå
Èý¡¢Ö¸ÕëµÄ½â³ýÒýÓÃ
ËÄ¡¢È¡µØÖ·£¨Ö¸Õ븳ֵ£©
Îå¡¢Ö¸ÕëÔËËã
Áù¡¢¶¯Ì¬ÄÚ´æ·ÖÅä
Æß¡¢×Ö·ûÊý×éµÄÔËËã
°Ë¡¢º¯ÊýÖ¸Õë
Ò»¡¢ÀàÐÍÖ¸ÕëµÄ¶¨Òå¡£¶ÔÓÚÖ¸ÏòÌØ¶¨ÀàÐ͵ÄÖ¸Õ룬ÔÚCÖÐÊÇÕâÑù¶¨ÒåµÄ£º
int *ptr;
char *ptr;
ÓëÖ®µÈ¼ÛµÄObject PascalÊÇÈçºÎ¶¨ÒåµÄÄØ£¿
var
ptr : ^Integer;
ptr : ^char;
ÆäʵҲ¾ÍÊÇ·ûºÅµÄ²î±ð¶øÒÑ¡£
¶þ¡¢ÎÞÀàÐÍÖ¸ÕëµÄ¶¨Òå¡£CÖÐÓÐvoid *ÀàÐÍ£¬Ò²¾ÍÊÇ¿ÉÒÔÖ¸ÏòÈκÎÀàÐÍÊý¾ÝµÄÖ¸Õë¡£Object PascalΪÆä¶¨ÒåÁËÒ»¸öרÃŵÄÀàÐÍ£ºPointer¡£ÓÚÊÇ£¬
ptr : Pointer;
¾ÍÓëCÖеÄ
void *ptr;
µÈ¼ÛÁË¡£
Èý¡¢Ö¸ÕëµÄ½â³ýÒýÓá£Òª½â³ýÖ¸ÕëÒýÓ㨼´È¡³öÖ¸ÕëËùÖ¸ÇøÓòµÄÖµ£©£¬C µÄÓï·¨ÊÇ (*ptr)£¬Object PascalÔòÊÇ ptr^¡£
ËÄ¡¢È¡µØÖ·£¨Ö¸Õ븳ֵ£©¡£È¡Ä³¶ÔÏóµÄµØÖ·²¢½«Æä¸³Öµ¸øÖ¸Õë±äÁ¿£¬C µÄÓï·¨ÊÇ
ptr = &Object;
Object Pascal ÔòÊÇ
ptr := @Object;
Ò²Ö»ÊÇ·ûºÅµÄ²î±ð¶øÒÑ¡£
Îå¡¢Ö¸ÕëÔËËã¡£ÔÚCÖУ¬¿ÉÒÔ¶ÔÖ¸Õë½øÐÐÒÆ¶¯µÄÔËË㣬È磺
char a[20];
char *ptr=a;
ptr++;
ptr+=2;
µ±Ö´ÐÐptr++;ʱ£¬±àÒëÆ÷»á²úÉúÈÃptrǰ½øsizeof(char)²½³¤µÄ´úÂ룬֮ºó£¬ptr½«Ö¸Ïòa[1]¡£ptr+=2;Õâ¾äʹµÃptrǰ½øÁ½¸ösizeof(char)´óСµÄ²½³¤¡£Í¬Ñù£¬ÎÒÃÇÀ´¿´Ò»ÏÂObject PascalÖÐÈçºÎʵÏÖ£º
var
a : array [1..20] of Char;
ptr : PChar; //PChar ¿ÉÒÔ¿´×÷ ^Char
begin
ptr := @a;
Inc(ptr); // Õâ¾äµÈ¼ÛÓÚ C µÄ ptr++;
Inc(ptr, 2); //Õâ¾äµÈ¼ÛÓÚ C µÄ ptr+=2;
end;
Áù¡¢¶¯Ì¬ÄÚ´æ·ÖÅä¡£CÖУ¬Ê¹ÓÃmalloc()¿âº¯Êý·ÖÅäÄڴ棬free()º¯ÊýÊÍ·ÅÄÚ´æ¡£ÈçÕâÑùµÄ´úÂ룺
int *ptr, *ptr2;
int i;
ptr = (int*) malloc(sizeof(int) * 20);
ptr2 = ptr;
for (i=0; i<20; i++){
*ptr = i;
ptr++;
}
free(ptr2);
Object PascalÖУ¬¶¯Ì¬·ÖÅäÄÚ´æµÄº¯ÊýÊÇGetMem()£¬ÓëÖ®¶ÔÓ¦µÄÊͷź¯ÊýΪFreeMem()£¨´«Í³PascalÖлñÈ¡ÄÚ´æµÄº¯ÊýÊÇNew()ºÍ Dispose()£¬µ«New()Ö»ÄÜ»ñµÃ¶ÔÏóµÄµ¥¸öʵÌåµÄÄÚ´æ´óС£¬ÎÞ·¨È¡µÃÁ¬ÐøµÄ
Ïà¹ØÎĵµ£º
1.Ö÷ÌâÓë¹Û²ìÕß
{¡¶HeadFirstÉè¼ÆÄ£Ê½¡·Ö®¹Û²ìÕßģʽ }
{ Ö÷ÌâÓë¹Û²ìÕß }
{ ±àÒ빤¾ß £ºDelphi7.0 }
{ ÁªÏµ·½Ê½ £ºxshlife@163.com }
unit uWeatherReport;
interface
uses
Classes, SysUtils;
type
TObserver = class; { ForwardÉùÃ÷£¬´´½¨Á½¸öÏà ......
ÊÊÅäÆ÷ģʽµÄÖ÷ÒªÒâͼÊǶÔÏÖÓÐÀàµÄ½Ó¿Ú½øÐÐת»»£¬ÒÔÂú×ãÄ¿±êÀàµÄÐèÇ󡣯ä´Î£¬¿ÉÒÔ¸øÄ¿±êÀàµÄ½Ó¿ÚÌí¼ÓеÄÐÐΪ£¨Ö÷ÒªÖ¸·½·¨£©¡£ÕâÒ»µãÈÝÒ×Óë×°ÊÎģʽ»ìÏý¡£´ÓÒâͼ·½ÃæÀ´¿´£¬×°ÊÎģʽ²»¸Ä±ä£¨Í¨³£Ö¸Ôö¼Ó£©½Ó¿ÚÖеÄÐÐΪ£¨Ö÷ÒªÖ¸·½·¨£©£¬¶øÊÇÔÚÔÓÐÐÐΪ£¨Ö÷ÒªÖ¸·½·¨£©µÄ»ù´¡ÉÏÌí¼ÓÐµĹ¦ÄÜ£»´ÓÀà½á¹¹· ......
1.²ßÂÔÀà
{¡¶HeadFirstÉè¼ÆÄ£Ê½¡·Ö®²ßÂÔģʽ }
{ ±¾µ¥ÔªÖеÄÀàΪ²ßÂÔÀà }
{ ±àÒ빤¾ß: Delphi7.0 }
{ E-Mail : xshlife@163.com }
unit uStrategy;
interface
type
{·ÉÐнӿڣ¬¼°ÆäʵÏÖÀà }
IFlyBehavior = Interface(IInterface)
procedure Fly;
......
1. ÃüÁîµÄ½ÓÊÕÕß
{¡¶HeadFirstÉè¼ÆÄ£Ê½¡·Ö®ÃüÁîģʽ }
{ ±¾µ¥ÔªÖеÄÀàΪÃüÁîµÄ½ÓÊÕÕß }
{ ±àÒ빤¾ß £ºDelphi7.0 }
{ ÁªÏµ·½Ê½ £ºxshlife@163.com }
unit uReceiveObject;
interface
type
TLight = class(TObject)
private
FLocation: String;
public
constru ......
1. ÃüÁîµÄ½ÓÊÜÕß
unit uReceiveObject;
interface
type
TLight = class(TObject)
public
procedure Open;
procedure Off;
end;
TGarageDoor = class(TObject)
public
procedure Up;
procedure Down;
procedure Stop;
procedure LightOn;
procedure LightOff;
end; ......