delphi virtual dynamic
dynamic¾ÍÊÇËüÊǶ¯Ì¬·½·¨£¬Ã»Óо²Ì¬µØÖ·£¬ËùÒÔËÙ¶ÈÂýÒ»µã
virtualÊÇÐé·½·¨£¬Èç¹ûÔÚ»ùÀàÖв»ÉùÃ÷³ÉÐé·½·¨µÄ»°£¬¼Ì³Ðºó£¬¸Ã·½·¨»áÌáʾһ¾¯¸æÐÅÏ¢£¬°Ñ»ùÀàÖз½·¨ÆÁ±ÎµôÁË
---------------------------------------------------------------
¶¯Ì¬£¨Dynamic£©ºÍÐéÄ⣨Virtual£©ºó¶¼¿ÉÒÔʹÓÃOverride¹Ø¼ü×ÖÔÚÅÉÉúÀàÖжԶÔÓ¦·½·¨½øÐи²¸Ç´Ó¶øÊµÏÖ¶à̬......
ÐéÄâ·½·¨ºÍ¶¯Ì¬·½·¨ÔÚÓïÒåÉÏ¿ÉÒÔ˵Êǵȼ۵ģ¬ËûÃÇΨһµÄÇø±ðÔÚÓÚ¶Ô·½·¨µ÷ÓòßÂÔµÄÄÚ²¿ÊµÏÖÉÏ£ºÐéÄâ·½·¨´ÓËÙ¶È×îÓÅ»¯µÄ½Ç¶ÈʵÏÖ´úÂëÓÅ»¯£¬¶ø¶¯Ì¬·½·¨ÔòÊÇ´Ó¿Õ¼ä×îÓŵĽǶÈʵÏÖ´úÂëÓÅ»¯......
±»¸²¸ÇµÄ¶¯Ì¬·½·¨ÔÚÅÉÉúÀàµÄVMTÖв»ÔÙ³öÏÖ........ËùÒÔ½ÚÊ¡¿Õ¼ä........µ«²éѯËÙ¶ÈÂý
±»¸²¸ÇµÄÐéÄâ·½·¨ÔÚÅÂÉúÀàµÄVMTÖÐÔٴγöÏÖ........ËùÒÔ²éѯËÙ¶È¿ì......µ«À˷ѿռä
---------------------------------------------------------------
ÐéÄâ·½·¨ºÍ¶¯Ì¬·½·¨
Ҫʹһ¸ö·½·¨³ÉΪÐéÄâµÄ»ò¶¯Ì¬µÄ£¬ÐèÒªÔÚÆäÉùÃ÷ÖаüÀ¨Ö¸Ê¾×Övirtual»òdynamic¡£ÐéÄâ·½·¨ºÍ¶¯Ì¬·½·¨²»Í¬ÓÚ¾²Ì¬·½·¨£¬ËüÃÇ¿ÉÒÔÔÚÆäºóÒáÀàÖб»¸²¸Ç£¨overridden£©¡£µ±Ò»¸ö¸²¸Ç·½·¨±»µ÷ÓÃʱ£¬·½·¨µ÷ÓÃÖÐʹÓõÄÀà»ò¶ÔÏóµÄʵ¼Ê£¨ÔËÐÐʱ£©ÀàÐ;ö¶¨ÁËÄÄÒ»¸öʵÏÖÊÇÓÐЧµÄ£¬¶ø·Ç±äÁ¿ÉùÃ÷µÄÀàÐ;ö¶¨¡£
Òª¸²¸ÇÒ»¸ö·½·¨£¬ÐèÒªÔÚÔÙÉùÃ÷ÖÐʹÓÃָʾ×Öoverride¡£Ò»¸öoverrideÉùÃ÷±ØÐèÓëÆä׿ÏÈÉùÃ÷ÔÚ²ÎÊý˳ÐòºÍÀàÐÍÒÔ¼°½á¹û£¨Èç¹ûÓУ©µÈ¸÷·½ÃæÆ¥Åä¡£
ÏÂÃæµÄÀý×ÓÖУ¬TFigureÖÐÉùÃ÷µÄDraw·½·¨ÔÚÁ½¸öºóÒáÀàÖж¼±»¸²¸Ç¡£
type
TFigure = class
procedure Draw; virtual;
end;
TRectangle = class(TFigure)
procedure Draw; override;
end;
TEllipse = class(TFigure)
procedure Draw; override;
end;
¶ÔÓÚÉÏÃæ¸ø³öµÄÉùÃ÷£¬ÏÂÃæµÄ´úÂë¾ÙÀý˵Ã÷ÁËÔÚÔËÐÐʱͨ¹ýÒ»¸ö±äÁ¿µ÷ÓÃÐéÄâ·½·¨Ê±£¬ÆäÀàÐͱ仯µÄЧ¹û¡£
var
Figure: TFigure;
begin
Figure := TRectangle.Create;
Figure.Draw; //µ÷ÓõÄÊÇTRectangle.Draw
Figure.Destroy;
Figure := TEllipse.Create;
Figure.Draw; //µ÷ÓõÄÊÇTEllipse.Draw
Figure.Destroy;
end;
Ö»ÓÐÐéÄâ·½·¨ºÍ¶¯Ì¬·½·¨¿ÉÒÔ±»¸²¸Ç¡£È»¶ø£¬ËùÓеķ½·¨¶¼¿ÉÒÔ±»ÖØÔØ£¨overloaded£©£¬¼ûÖØÔØ·½·¨¡£
ÐéÄâºÍ¶¯Ì
Ïà¹ØÎĵµ£º
Îҵİ취£¬Ôö¼ÓÒ»¸ötimer ÉèÖüä¸ô100ms£¬Í¨¹ýtimerµÄʹÄÜ·ñ£¬¿ØÖƱ¨¾¯ÉùÒô¿ª¹Ø
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Windows.Beep(1200+i_f,10+i_f);
if i_f<2000 then
begin
inc(i_f);
end
end;
== ......
ÉÏһƪ£¬½éÉÜÁË×é¼þ¿ª·¢µÄÒ»°ã¸ÅÊö£¬ÒÔ¼°×é¼þÀà²ã´Î½á¹¹µÄ¸÷¸öÀàµÄ´óÖÂÐÅÏ¢£¡ÏÖÔھͿªÊ¼Í¨¹ýʵÀý½øÐÐÀ´¼òµ¥µÄ½²ÊöÒ»ÏÂÒ»°ã×é¼þµÄ¿ª·¢¹ý³Ì£¡ÎÒÕâÀïÏȲÉÓÃ×î
»ù±¾µÄ·½Ê½À´´´½¨Ò»¸ö×é¼þ£¡Ò²¾ÍÊÇʹÓÃDelphi×Ô¼ºµÄ×é¼þ¿ª·¢Ïòµ¼À´½¨Á¢Ò»¸öеÄ×é¼þ¡£ÔÚÕâÀÎÒÒÔÀ©³äTEditΪÀý½øÐн²½â¡£
ÄÇôÊ×ÏÈ£¬Òª½éÉܵľÍÊÇ ......
Ã÷Ìì¾ÍÊÇÎåÒ»½ÚÁË£¬ÐÁ¿àÁ˺ü¸¸öÔ£¬½è´Ë»ú»áÓ¦¸Ã¾¡Çé·ÅËÉÒ»·¬¡£¿ÉÊÇÏëµ½BlogºÃ¾ÃûÓÐдÎÄÕ£¬ËƺõÈ±Ð©Ê²Ã´ËÆµÄ¡£Õ⼸¸öÔÂÀ´ÔÚÏîÄ¿ÖÐÓÖÔö³¤ÁËÐí¶à¾Ñ飬ѧµ½Ðí¶àʵ¼ÊÓ¦ÓõÄ֪ʶ¡£²»Èç°ÑһЩ±È½ÏÓÐÓõļǼÏÂÀ´£¬¹©ÅóÓÑÃDzο¼¿ÉºÃ¡£
ÎÒÏëµ½DelphiµÄʼþ£¬ÄÇ¿ÉÕæÊǸö·½±ãµÄ¶«Î÷£¬³õѧÕßÔÚ´°ÌåÉÏÀ¼¸¸ö¿ ......
C# Delphi´¦Àí·ÖÎöQQÐÒé
¡¡´ó¼Ò˵µ½QQÐÒé¶¼¾õµÃºÜÉñÃØ£¬ÊÇÒòΪQQ²»ÏñMSN»òÕßICQÐÒé¶¼ÒѾ¹Ù·½¹«²¼ÁË£¬¶øQQµÄûÓй«²¼¡£Ñо¿ËüµÄÈËÒ²²»ÊÇÌØ±ðµÄ¶à£¬ËäÈ»ÒѾÓÐÁË»ùÓÚ QQÐÒéËùд³ÉµÄµÚÈý·½Èí¼þ foicq, qq plugins for gaim, LumaQQ£¬µ«ÊÇÓÉÓÚËûÃÇÊÇ»ùÓÚ¶þ½øÖÆStreamµÄÐÒé¹ýÓÚ¸´ÔÓ£¬´ó¼ÒÔĶÁ´úÂëÒ²ÓÐÒ ......
{-----------------------------------------------------------------------------
Unit Name: HashTable
Author: LiuHeng
Date: 2010-04-13
Purpose: ·â×°DelphiµÄHashTable
History:
------------------------------- ......