DelphiµÄ5ÖÖ·½·¨ÀàÐÍ
DelphiµÄ·½·¨ÀàÐÍÓУº
1.¾²Ì¬·½·¨ (Static) ĬÈÏÀàÐÍ£¬¿ÉÒÔÊ¡ÂԹؼü×Ö
2.ÐéÄâ·½·¨ (Virtual)
3.¶¯Ì¬·½·¨ (Dynamic)
4.ÏûÏ¢·½·¨ (Message)
5.³éÏó·¨·½ (Abstract)
=======================================================
1£©¾²Ì¬·½·¨[static]
¾²Ì¬·½·¨ÀàËÆÓÚͨ³£µÄ¹ý³ÌºÍº¯Êý£¬±àÒëÆ÷ÔÚ±àÒëʱ¾ÍÒÑÖ¸¶¨ÁËÊä³ö¸Ã·½·¨
µÄ¶ÔÏóʵÀý¡£¾²Ì¬·½·¨µÄÖ÷ÒªÓŵãÊǵ÷ÓÃËٶȿ졣
eg£º
type
TAnimal = class(TObject)
procedure Sound;
procedure Sleep;
... ...
end;
... ...
TDog = class(TAnimal)
procedure Sound;
function Sleep:Integer;
... ...
end;
¾²Ì¬·½·¨²»Äܱ»ÖØÔØ£¬ÉÏÀýÖУ¬ÅÉÉúÀàµÄ¾²Ì¬·½·¨Ö»ÊÇÌæ»»ÁË»ùÀàµÄ¾²Ì¬·½
·¨¡£¼´Ê¹Sleep·½·¨ÔÚTAnimalÖбíÏÖΪ¹ý³Ì¶øÔÚTDogÀàÖбíÏÖΪº¯Êý¡£
=======================================================
2£©ÐéÄâ·½·¨[virtual]
ÐéÄâ·½·¨±È¾²Ì¬·½·¨¸üÁé»î¡¢¸ü¸´ÔÓ¡£ÐéÄâ·½·¨µÄµØÖ·²»ÊÇÔÚ±àÒëʱȷ¶¨µÄ
£¬¶øÊÇÔÚ³ÌÐòÔËÐÐÆÚ¼ä¸ù¾Ýµ÷ÓÃÕâ¸öÐéÄâ·½·¨µÄ¶ÔÏóʵÀýÀ´È·¶¨µÄ£¬ÕâÖÖ·½
·¨ÓÖ³ÆÎªÖͺóÁª±à¡£ÐéÄâ·½·¨ÔÚ¶ÔÏóÐéÄâ·½·¨±í£¨VMT£©ÖÐÕ¼ÓÐÒ»¸öË÷ÒýºÅ
eg:
type
TAnimal = class(TObject)
procedure Eat;
procedure Sound; virtual;
procedure Sleep; dynamic;
... ...
end;
TDog = class(TAnimal)
procedure Sound; override; //ÖØÔØ
function Sleep:Integer; override;
... ...
end;
Ö»ÓÐvirtualºÍdynamic¿ÉÒÔ±»override£¬static²»Äܱ»override(ÖØÔØ)¡£
=======================================================
3£©¶¯Ì¬·½·¨[dynamic]
±»ÉùÃ÷Ϊ¶¯Ì¬·½·¨µÄ·½·¨²»ÊÇ·ÅÔÚÀàµÄÐéÄâ·½·¨±íÖУ¬¶øÊÇÓɱàÒëÆ÷Ö¸¶¨Ò»
¸öË÷ÒýºÅ£¨Ò»°ã²
Ïà¹ØÎĵµ£º
Èç½ñRealPlayerµÄÁ÷ʽýÌåÎļþÒÔÆäÇ¿´óµÄÊÓÆµÑ¹Ëõ±ÈÕýÖð²½ÇÄÈ»ÐËÆð¡£RealPlayer Plus²¥·ÅÆ÷Ò²ÀíËùµ±È»µØ³ÉΪ´ó¼Ò²¥·ÅRealPlayer¸ñʽÎļþµÄÊ×Ñ¡Èí¼þ¡£²»¹ýRealPlayer PlusÒ²²»ÊÇʮȫʮÃÀµÄ£¬±ÈÈçÆô¶¯Ê±¼äÂý£¬Õ¼Óÿռä´ó£¬ÁôÓÐÀúÊ·¼Ç¼µÈµÈ¡£ÆäʵÎÒÃÇ¿ÉÒÔÀûÓÃDelphi´òÔìÒ»¸öÍêÈ«·ûºÏ×Ô¼ºÒªÇóµÄRealPlayer² ......
{-----------------------------------------------------------------------------
Unit Name: HashTable
Author: LiuHeng
Date: 2010-04-13
Purpose: ·â×°DelphiµÄHashTable
History:
------------------------------- ......
1.Round£¨ËÄÉáÁùÈëÎåÁôË«£©
¹¦ÄÜ˵Ã÷£º¶ÔÒ»¸öʵÊý½øÐÐËÄÉáÎåÈë¡£(°´ÕÕÒøÐмÒËã·¨)
Àý£º
var
i, j: Integer;
begin
i := Round(1.5); // iµÈÓÚ2
j := Round(2.5); // jµÈÓÚ2
end;
ÔÚDelphiÖÐʹÓÃRoundº¯ÊýµÃµ½µÄ´ð°¸ÓÐʱÓëÎÒÃÇËùÔ¤ÆÚµÄ»á²»Ì«Ò»Ñù£º²ÉÓõÄÊÇËÄÉáÁùÈëÎåÁôË«¡£¼´µ±Éá»òÈëλ´óÓÚ»òСÓÚÎåÊ ......
[code=Delphi(Pascal)]
unit uThreadPool;
{ aPool.AddRequest(TMyRequest.Create(RequestParam1, RequestParam2, ...)); }
interface
uses
Windows,
Classes;
// ÊÇ·ñ¼Ç¼ÈÕÖ¾
// {$DEFINE NOLOGS}
type
TCriticalSection = class(TObject)
protected
FSec ......
32λDelphi³ÌÐòÖпÉÀûÓÃTRegistry¶ÔÏóÀ´´æÈ¡×¢²á±íÎļþÖеÄÐÅÏ¢¡£
¡¡¡¡Ò»¡¢´´½¨ºÍÊÍ·ÅTRegistry¶ÔÏó
¡¡¡¡1.´´½¨TRegistry¶ÔÏó¡£ÎªÁ˲Ù×÷×¢²á±í£¬Òª´´½¨Ò»¸öTRegistry¶ÔÏó£ºARegistry := TRegistry.Create£»
¡¡¡¡2.ÊÍ·ÅTRegistry¶ÔÏó¡£¶Ô×¢²á±í²Ù×÷½áÊøºó£¬Ó¦ÊÍ·ÅTRegistry¶ÔÏóËùÕ¼Äڴ棺ARegistry.Destroy¡£
¡¡¡¡¶þ ......