´òÓ¡

java

java

¡°ÎªÊ²Ã´ÃæÏò¶ÔÏóµÄ±à³Ì»áÔÚÈí¼þ¿ª·¢ÁìÓòÔì³ÉÈç´ËÕ𺶵ÄÓ°Ï죿¡±

ÃæÏò¶ÔÏó±à³Ì£¨OOP£©¾ßÓÐ¶à·½ÃæµÄÎüÒýÁ¦¡£¶Ô¹ÜÀíÈËÔ±£¬ËüʵÏÖÁ˸ü¿ìºÍ¸üÁ®¼ÛµÄ¿ª·¢Óëά»¤¹ý³Ì¡£¶Ô·ÖÎöÓëÉè¼ÆÈËÔ±£¬½¨Ä£´¦Àí±äµÃ¸ü¼Ó¼òµ¥£¬ÄÜÉú³ÉÇåÎú¡¢Ò×ÓÚά»¤µÄÉè¼Æ·½°¸¡£¶Ô³ÌÐòÔ±£¬¶ÔÏóÄ£ÐÍÏÔµÃÈç´Ë¸ßÑźÍdzÏÔ¡£´ËÍâ£¬ÃæÏò¶ÔÏ󹤾ßÒÔ¼°¿âµÄ¾Þ´óÍþÁ¦Ê¹±à³Ì³ÉΪһÏî¸üʹÈËÓäÔõÄÈÎÎñ¡£Ã¿¸öÈ˶¼¿É´ÓÖлñÒæ£¬ÖÁÉÙ±íÃæÈç´Ë¡£
Èç¹û˵ËüÓÐȱµã£¬ÄǾÍÊÇÕÆÎÕËüÐ踶³öµÄ´ú¼Û¡£Ë¼¿¼¶ÔÏóµÄʱºò£¬ÐèÒª²ÉÓÃÐÎÏó˼ά£¬¶ø²»ÊdzÌÐò»¯µÄ˼ά¡£Óë³ÌÐò»¯Éè¼ÆÏà±È£¬¶ÔÏóµÄÉè¼Æ¹ý³Ì¸ü¾ßÌôÕ½ÐÔ¡ª¡ªÌرðÊÇÔÚ³¢ÊÔ´´½¨¿ÉÖØ¸´Ê¹Ó㨿ÉÔÙÉú£©µÄ¶ÔÏóʱ¡£¹ýÈ¥£¬ÄÇЩ³õÉæÃæÏò¶ÔÏó±à³ÌÁìÓòµÄÈ˶¼±ØÐë½øÐÐÒ»ÏîÁîÈËÍ´¿àµÄÑ¡Ôñ£º
(1) Ñ¡ÔñÒ»ÖÖÖîÈçSmalltalkµÄÓïÑÔ£¬¡°³öʦ¡±Ç°±ØÐëÕÆÎÕÒ»¸ö¾ÞÐ͵Ŀ⡣
(2) Ñ¡Ôñ¼¸ºõ¸ù±¾Ã»ÓпâµÄC++£¨×¢ÊÍ¢Ù£©£¬È»ºóÉîÈëѧϰÕâÖÖÓïÑÔ£¬Ö±ÖÁÄÜ×ÔÐбàд¶ÔÏó¿â¡£

¢Ù£ºÐÒÔ˵ÄÊÇ£¬ÕâÒ»Çé¿öÒÑÓÐÃ÷ÏԸĹۡ£ÏÖÔÚÓеÚÈý·½¿âÒÔ¼°±ê×¼µÄC++¿â¹©Ñ¡Óá£

ÊÂʵÉÏ£¬ºÜÄѺܺõØÉè¼Æ³ö¶ÔÏ󡪡ª´Ó¶øºÜÄÑÉè¼ÆºÃÈκζ«Î÷¡£Òò´Ë£¬Ö»ÓÐÊýÁ¿Ï൱Éٵġ°×¨¼Ò¡±ÄÜÉè¼Æ³ö×îºÃµÄ¶ÔÏó£¬È»ºóÈÃÆäËûÈËÏíÓ᣶ÔÓڳɹ¦µÄOOPÓïÑÔ£¬ËüÃDz»½ö¼¯³ÉÁËÕâÖÖÓïÑÔµÄÓï·¨ÒÔ¼°Ò»¸ö±àÒë³ÌÐò£¨±àÒëÆ÷£©£¬¶øÇÒ»¹ÓÐÒ»¸ö³É¹¦µÄ¿ª·¢»·¾³£¬ÆäÖаüº¬Éè¼ÆÓÅÁ¼¡¢Ò×ÓÚʹÓõĿ⡣ËùÒÔ£¬´ó¶àÊý³ÌÐòÔ±µÄÊ×ÒªÈÎÎñ¾ÍÊÇÓÃÏÖÓеĶÔÏó½â¾ö×Ô¼ºµÄÓ¦ÓÃÎÊÌâ¡£±¾ÕµÄÄ¿±ê¾ÍÊÇÏò´ó¼Ò½Òʾ³öÃæÏò¶ÔÏó±à³ÌµÄ¸ÅÄ²¢Ö¤Ã÷ËüÓжàô¼òµ¥¡£
±¾Õ½«Ïò´ó¼Ò½âÊÍJavaµÄ¶àÏîÉè¼ÆË¼Ï룬²¢´Ó¸ÅÄîÉϽâÊÍÃæÏò¶ÔÏóµÄ³ÌÐòÉè¼Æ¡£µ«Òª×¢ÒâÔÚÔĶÁÍê±¾Õº󣬲¢²»ÄÜÁ¢¼´±àд³öÈ«¹¦ÄܵÄJava³ÌÐò¡£ËùÓÐÏêϸµÄ˵Ã÷ºÍʾÀý»áÔÚ±¾ÊéµÄÆäËûÕ½ÚÂýÂýµÀÀ´¡£

1.1 ³éÏóµÄ½ø²½
ËùÓбà³ÌÓïÑÔµÄ×îÖÕÄ¿µÄ¶¼ÊÇÌṩһÖÖ¡°³éÏó¡±·½·¨¡£Ò»ÖÖ½ÏÓÐÕùÒéµÄ˵·¨ÊÇ£º½â¾öÎÊÌâµÄ¸´Ôӳ̶ÈÖ±½ÓÈ¡¾öÓÚ³éÏóµÄÖÖÀ༰ÖÊÁ¿¡£Õâ¶ùµÄ¡°ÖÖÀࡱÊÇָ׼±¸¶Ôʲô½øÐС°³éÏó¡±£¿»ã±àÓïÑÔÊǶԻù´¡»úÆ÷µÄÉÙÁ¿³éÏ󡣺óÀ´µÄÐí¶à¡°ÃüÁîʽ¡±ÓïÑÔ£¨ÈçFORTRAN£¬BASICºÍC£©ÊǶԻã±àÓïÑÔµÄÒ»ÖÖ³éÏó¡£Óë»ã±àÓïÑÔÏà±È£¬ÕâЩÓïÑÔÒÑÓÐÁ˳¤×ãµÄ½ø²½£¬µ«ËüÃǵijéÏóÔ­ÀíÒÀȻҪÇóÎÒÃÇ×ÅÖØ¿¼ÂǼÆËã»úµÄ½á¹¹£¬¶ø·Ç¿¼ÂÇÎÊÌâ±¾ÉíµÄ½á¹¹¡£ÔÚ»úÆ÷Ä£ÐÍ£¨Î»ÓÚ¡°·½°¸¿Õ¼ä¡±£©Óëʵ¼Ê½â¾öµÄÎÊÌâÄ£ÐÍ£¨Î»ÓÚ¡°ÎÊÌâ¿Õ¼ä¡±£©Ö®¼ä£¬³ÌÐòÔ±±ØÐ뽨Á¢ÆðÒ»ÖÖÁªÏµ¡£Õâ¸ö¹ý³ÌÒªÇóÈËÃǸ¶³ö½Ï´óµÄ¾«Á¦£¬¶øÇÒÓÉÓÚËüÍÑÀëÁ˱à³ÌÓïÑÔ±¾ÉíµÄ·¶Î§£¬Ôì³É³ÌÐò´úÂëºÜÄѱàд£¬¶øÇÒÒª»¨½Ï´óµÄ´ú¼Û½øÐÐά»¤¡£ÓÉ´ËÔì³ÉµÄ¸±×÷ÓñãÊÇÒ»ÃÅÍêÉÆµÄ¡°±à³Ì·½·¨¡±Ñ§¿Æ¡£
Ϊ»úÆ÷½¨Ä£µÄÁíÒ»¸ö·½·¨ÊÇΪҪ½â¾öµÄÎÊÌâÖÆ×÷Ä£ÐÍ¡£¶ÔһЩÔçÆÚÓïÑÔÀ´Ëµ£¬ÈçLISPºÍAPL£¬ËüÃǵÄ×ö·¨ÊÇ¡°´Ó²»Í¬µÄ½Ç¶È¹Û²ìÊÀ½ç¡±¡ª¡ª¡°ËùÓÐÎÊÌâ¶¼¹éÄÉΪÁÐ±í¡±»ò¡°ËùÓÐÎÊÌâ¶¼¹éÄÉΪËã·¨¡±¡£PROLOGÔò½«ËùÓÐÎÊÌâ¶¼¹éÄÉΪ¾ö²ßÁ´¡£¶ÔÓÚÕâЩÓïÑÔ£¬ÎÒÃÇÈÏΪËüÃÇÒ»²¿·ÖÊÇÃæÏò»ùÓÚ¡°Ç¿ÖÆ¡±µÄ±à³Ì£¬ÁíÒ»²¿·ÖÔòÊÇרΪ´¦ÀíͼÐηûºÅÉè¼ÆµÄ¡£Ã¿ÖÖ·½·¨¶¼ÓÐ×Ô¼ºÌØÊâµÄÓÃ;£¬ÊʺϽâ¾öijһÀàµÄÎÊÌâ¡£µ«Ö»Òª³¬³öÁËËüÃÇÁ¦ËùÄܼ°µÄ·¶Î§£¬¾Í»áÏԵ÷dz£±¿×¾¡£
ÃæÏò¶ÔÏóµÄ³ÌÐòÉè¼ÆÔÚ´Ë»ù´¡ÉÏÔò¿ç³öÁËÒ»´ó²½£¬³ÌÐòÔ±¿ÉÀûÓÃһЩ¹¤¾ß±í´ïÎÊÌâ¿Õ¼äÄÚµÄÔªËØ¡£ÓÉÓÚÕâÖÖ±í´ï·Ç³£ÆÕ±é£¬ËùÒÔ²»±ØÊÜÏÞÓÚÌØ¶¨ÀàÐ͵ÄÎÊÌâ¡£ÎÒÃǽ«ÎÊÌâ¿Õ¼äÖеÄÔªËØÒÔ¼°ËüÃÇÔÚ·½°¸¿Õ¼äµÄ±íʾÎï³Æ×÷¡°¶ÔÏó¡±£¨Object£©¡£µ±È»£¬»¹ÓÐһЩÔÚÎÊÌâ¿Õ¼äûÓжÔÓ¦ÌåµÄÆäËû¶ÔÏó¡£Í¨¹ýÌí¼ÓеĶÔÏóÀàÐÍ£¬³ÌÐò¿É½øÐÐÁé»îµÄµ÷Õû£¬ÒÔ±ãÓëÌØ¶¨µÄÎÊÌâÅäºÏ¡£ËùÒÔÔÚÔĶÁ·½°¸µÄÃèÊö´úÂëʱ£¬»á¶Áµ½¶ÔÎÊÌâ½øÐбí´ïµÄ»°Óï¡£ÓëÎÒÃÇÒÔǰ¼û¹ýµÄÏà±È£¬ÕâÎÞÒÉÊÇÒ»ÖÖ¸ü¼ÓÁé»î¡¢¸ü¼ÓÇ¿´óµÄÓïÑÔ³éÏó·½·¨¡£×ÜÖ®£¬OOPÔÊÐíÎÒÃǸù¾ÝÎÊÌâÀ´ÃèÊöÎÊÌ⣬¶ø²»ÊǸù¾Ý·½°¸¡£È»¶ø£¬ÈÔÓÐÒ»¸öÁªÏµÍ¾¾¶»Øµ½¼ÆËã»ú¡£Ã¿¸ö¶ÔÏó¶¼ÀàËÆÒ»Ì¨Ð¡¼ÆËã»ú£»ËüÃÇÓÐ×Ô¼ºµÄ״̬£¬¶øÇÒ¿ÉÒªÇóËüÃǽøÐÐÌØ¶¨µÄ*×÷¡£ÓëÏÖʵÊÀ½çµÄ¡°¶ÔÏó¡±»òÕß¡°ÎïÌ塱Ïà±È£¬±à³Ì¡°¶ÔÏó¡±ÓëËüÃÇÒ²´æÔÚ¹²Í¨µÄµØ·½£ºËüÃǶ¼ÓÐ×Ô¼ºµÄÌØÕ÷ºÍÐÐΪ¡£

Alan Kay×ܽáÁËSmalltalkµÄÎå´ó»ù±¾ÌØÕ÷¡£ÕâÊǵÚÒ»Öֳɹ¦µÄÃæÏò¶ÔÏó³ÌÐòÉè¼ÆÓïÑÔ£¬Ò²ÊÇJavaµÄ»ù´¡ÓïÑÔ¡£Í¨¹ýÕâÐ©ÌØÕ÷£¬ÎÒÃÇ¿ÉÀí½â¡°´¿´â¡±µÄÃæÏò¶ÔÏó³ÌÐòÉè¼Æ·½·¨ÊÇʲôÑùµÄ£º

(1) ËùÓж«Î÷¶¼ÊǶÔÏ󡣿ɽ«¶ÔÏóÏëÏó³ÉÒ»ÖÖÐÂÐͱäÁ¿£»Ëü±£´æ×ÅÊý¾Ý£¬µ«¿ÉÒªÇóËü¶Ô×ÔÉí½øÐÐ*×÷¡£ÀíÂÛÉϽ²£¬¿É´ÓÒª½â¾öµÄÎÊÌâÉíÉÏÌá³öËùÓиÅÄîÐÔµÄ×é¼þ£¬È»ºóÔÚ³ÌÐòÖн«Æä±í´ïΪһ¸ö¶ÔÏó¡£
(2) ³ÌÐòÊÇÒ»´ó¶Ñ¶ÔÏóµÄ×éºÏ£»Í¨¹ýÏûÏ¢´«µÝ£¬¸÷¶ÔÏóÖªµÀ×Ô¼º¸Ã×öЩʲô¡£ÎªÁËÏò¶ÔÏó·¢³öÇëÇó£¬ÐèÏòÄǸö¶ÔÏó¡°·¢ËÍÒ»ÌõÏûÏ¢¡±¡£¸ü¾ßÌ嵨½²£¬¿É½«ÏûÏ¢ÏëÏóΪһ¸öµ÷ÓÃÇëÇó£¬Ëüµ÷ÓõÄÊÇ´ÓÊôÓÚÄ¿±ê¶ÔÏóµÄÒ»¸ö×ÓÀý³Ì»òº¯Êý¡£
(3) ÿ¸ö¶ÔÏó¶¼ÓÐ×Ô¼ºµÄ´æ´¢¿Õ¼ä£¬¿ÉÈÝÄÉÆäËû¶ÔÏó¡£»òÕß˵£¬Í¨¹ý·â×°ÏÖÓжÔÏ󣬿ÉÖÆ×÷³öÐÂÐͶÔÏó¡£ËùÒÔ£¬¾¡¹Ü¶ÔÏóµÄ¸ÅÄî·Ç³£¼òµ¥£¬µ«ÔÚ³ÌÐòÖÐÈ´¿É´ïµ½ÈÎÒâ¸ßµÄ¸´Ôӳ̶ȡ£
(4) ÿ¸ö¶ÔÏó¶¼ÓÐÒ»ÖÖÀàÐÍ¡£¸ù¾ÝÓï·¨£¬Ã¿¸ö¶ÔÏó¶¼ÊÇij¸ö¡°ÀࡱµÄÒ»¸ö¡°ÊµÀý¡±¡£ÆäÖУ¬¡°Àࡱ£¨Class£©ÊÇ¡°ÀàÐÍ¡±£¨Type£©µÄͬÒå´Ê¡£Ò»¸öÀà×îÖØÒªµÄÌØÕ÷¾ÍÊÇ¡°Äܽ«Ê²Ã´ÏûÏ¢·¢¸øËü£¿¡±¡£
(5) ͬһÀàËùÓжÔÏó¶¼ÄܽÓÊÕÏàͬµÄÏûÏ¢¡£Õâʵ¼ÊÊDZðÓк¬ÒåµÄÒ»ÖÖ˵·¨£¬´ó¼Ò²»¾Ã±ãÄÜÀí½â¡£ÓÉÓÚÀàÐÍΪ¡°Ô²¡±£¨Circle£©µÄÒ»¸ö¶ÔÏóÒ²ÊôÓÚÀàÐÍΪ¡°ÐÎ×´¡±£¨Shape£©µÄÒ»¸ö¶ÔÏó£¬ËùÒÔÒ»¸öÔ²ÍêÈ«ÄܽÓÊÕÐÎ×´ÏûÏ¢¡£ÕâÒâζ×Å¿ÉÈóÌÐò´úÂëͳһָ»Ó¡°ÐÎ×´¡±£¬ÁîÆä×Ô¶¯¿ØÖÆËùÓзûºÏ¡°ÐÎ×´¡±ÃèÊöµÄ¶ÔÏ󣬯äÖÐ×ÔÈ»°üÀ¨¡°Ô²¡±¡£ÕâÒ»ÌØÐÔ³ÆÎª¶ÔÏóµÄ¡°¿ÉÌæ»»ÐÔ¡±£¬ÊÇOOP×îÖØÒªµÄ¸ÅÄîÖ®Ò»¡£

һЩÓïÑÔÉè¼ÆÕßÈÏÎªÃæÏò¶ÔÏóµÄ³ÌÐòÉè¼Æ±¾Éí²¢²»×ãÒÔ·½±ã½â¾öËùÓÐÐÎʽµÄ³ÌÐòÎÊÌ⣬Ìᳫ½«²»Í¬µÄ·½·¨×éºÏ³É¡°¶àÐγÌÐòÉè¼ÆÓïÑÔ¡±£¨×¢ÊÍ¢Ú£©¡£

¢Ú£º²Î¼ûTimothy Budd±àÖøµÄ¡¶Multiparadigm Programming in Leda¡·£¬Addison-Wesley 1995Äê³ö°æ¡£

1.2 ¶ÔÏóµÄ½Ó¿Ú
ÑÇÀïÊ¿¶àµÂ»òÐíÊÇÈÏÕæÑо¿¡°ÀàÐÍ¡±¸ÅÄîµÄµÚÒ»ÈË£¬ËûÔøÌ¸¼°¡°ÓãÀàºÍÄñÀࡱµÄÎÊÌâ¡£ÔÚÊÀ½çÊ×ÀýÃæÏò¶ÔÏóÓïÑÔSimula-67ÖУ¬µÚÒ»´ÎÓõ½ÁËÕâÑùµÄÒ»¸ö¸ÅÄ
ËùÓжÔÏ󡪡ª¾¡¹Ü¸÷ÓÐÌØÉ«¡ª¡ª¶¼ÊôÓÚijһϵÁжÔÏóµÄÒ»²¿·Ö£¬ÕâЩ¶ÔÏó¾ßÓÐͨÓõÄÌØÕ÷ºÍÐÐΪ¡£ÔÚSimula-67ÖУ¬Ê×´ÎÓõ½ÁËclassÕâ¸ö¹Ø¼ü×Ö£¬ËüΪ³ÌÐòÒýÈëÁËÒ»¸öȫеÄÀàÐÍ£¨clasºÍtypeͨ³£¿É»¥»»Ê¹Óã»×¢ÊÍ¢Û£©¡£

¢Û£ºÓÐЩÈ˽øÐÐÁ˽øÒ»²½µÄÇø·Ö£¬ËûÃÇÇ¿µ÷¡°ÀàÐÍ¡±¾ö¶¨Á˽ӿڣ¬¶ø¡°ÀࡱÊÇÄǸö½Ó¿ÚµÄÒ»ÖÖÌØÊâʵÏÖ·½Ê½¡£

SimulaÊÇÒ»¸öºÜºÃµÄÀý×Ó¡£ÕýÈçÕâ¸öÃû×ÖËù°µÊ¾µÄ£¬ËüµÄ×÷ÓÃÊÇ¡°Ä£Ä⡱£¨Simulate£©Ïó¡°ÒøÐгöÄÉÔ±¡±ÕâÑùµÄ¾­µäÎÊÌâ¡£ÔÚÕâ¸öÀý×ÓÀÎÒÃÇÓÐһϵÁгöÄÉÔ±¡¢¿Í»§¡¢ÕʺÅÒÔ¼°½»Ò׵ȡ£Ã¿Àà³ÉÔ±£¨ÔªËØ£©¶¼¾ßÓÐһЩͨÓõÄÌØÕ÷£ºÃ¿¸öÕʺŶ¼ÓÐÒ»¶¨µÄÓà¶î£»Ã¿Ãû³öÄɶ¼ÄܽÓÊÕ¿Í»§µÄ´æ¿î£»µÈµÈ¡£Óë´Ëͬʱ£¬Ã¿¸ö³ÉÔ±¶¼ÓÐ×Ô¼ºµÄ״̬£»Ã¿¸öÕʺŶ¼Óв»Í¬µÄÓà¶î£»Ã¿Ãû³öÄɶ¼ÓÐÒ»¸öÃû×Ö¡£ËùÒÔÔÚ¼ÆËã»ú³ÌÐòÖУ¬ÄÜÓöÀÒ»ÎÞ¶þµÄʵÌå·Ö±ð±íʾ³öÄÉÔ±¡¢¿Í»§¡¢ÕʺÅÒÔ¼°½»Òס£Õâ¸öʵÌå±ãÊÇ¡°¶ÔÏó¡±£¬¶øÇÒÿ¸ö¶ÔÏó¶¼Á¥ÊôÒ»¸öÌØ¶¨µÄ¡°Àࡱ£¬ÄǸöÀà¾ßÓÐ×Ô¼ºµÄͨÓÃÌØÕ÷ÓëÐÐΪ¡£
Òò´Ë£¬ÔÚÃæÏò¶ÔÏóµÄ³ÌÐòÉè¼ÆÖУ¬¾¡¹ÜÎÒÃÇÕæÕýÒª×öµÄÊÇн¨¸÷ÖÖ¸÷ÑùµÄÊý¾Ý¡°ÀàÐÍ¡±£¨Type£©£¬µ«¼¸ºõËùÓÐÃæÏò¶ÔÏóµÄ³ÌÐòÉè¼ÆÓïÑÔ¶¼²ÉÓÃÁË¡°class¡±¹Ø¼ü×Ö¡£µ±Äú¿´µ½¡°type¡±Õâ¸ö×ÖµÄʱºò£¬ÇëͬʱÏëµ½¡°class¡±£»·´Ö®ÒàÈ»¡£
½¨ºÃÒ»¸öÀàºó£¬¿É¸ù¾ÝÇé¿öÉú³ÉÐí¶à¶ÔÏó¡£Ëæºó£¬¿É½«ÄÇЩ¶ÔÏó×÷ΪҪ½â¾öÎÊÌâÖдæÔÚµÄÔªËØ½øÐд¦Àí¡£ÊÂʵÉÏ£¬µ±ÎÒÃǽøÐÐÃæÏò¶ÔÏóµÄ³ÌÐòÉè¼ÆÊ±£¬ÃæÁÙµÄ×î´óÒ»ÏîÌôÕ½ÐÔ¾ÍÊÇ£ºÈçºÎÔÚ¡°ÎÊÌâ¿Õ¼ä¡±£¨ÎÊÌâʵ¼Ê´æÔڵĵط½£©µÄÔªËØÓë¡°·½°¸¿Õ¼ä¡±£¨¶Ôʵ¼ÊÎÊÌâ½øÐн¨Ä£µÄµØ·½£¬Èç¼ÆËã»ú£©µÄÔªËØÖ®¼ä½¨Á¢ÀíÏëµÄ¡°Ò»¶ÔÒ»¡±¶ÔÓ¦»òÓ³Éä¹ØÏµ¡£
ÈçºÎÀûÓöÔÏóÍê³ÉÕæÕýÓÐÓõŤ×÷ÄØ£¿±ØÐëÓÐÒ»ÖÖ°ì·¨ÄÜÏò¶ÔÏó·¢³öÇëÇó£¬ÁîÆä×öһЩʵ¼ÊµÄÊÂÇ飬±ÈÈçÍê³ÉÒ»´Î½»Òס¢ÔÚÆÁÄ»ÉÏ»­Ò»Ð©¶«Î÷»òÕß´ò¿ªÒ»¸ö¿ª¹ØµÈµÈ¡£Ã¿¸ö¶ÔÏó½öÄܽÓÊÜÌØ¶¨µÄÇëÇó¡£ÎÒÃÇÏò¶ÔÏó·¢³öµÄÇëÇóÊÇͨ¹ýËüµÄ¡°½Ó¿Ú¡±£¨Interface£©¶¨ÒåµÄ£¬¶ÔÏóµÄ¡°ÀàÐÍ¡±»ò¡°ÀࡱÔò¹æ¶¨ÁËËüµÄ½Ó¿ÚÐÎʽ¡£¡°ÀàÐÍ¡±Óë¡°½Ó¿Ú¡±µÄµÈ¼Û»ò¶ÔÓ¦¹ØÏµÊÇÃæÏò¶ÔÏó³ÌÐòÉè¼ÆµÄ»ù´¡¡£
ÏÂÃæÈÃÎÒÃÇÒÔµçµÆÅÝΪÀý£º



Light lt = new Light();
lt.on();

ÔÚÕâ¸öÀý×ÓÖУ¬ÀàÐÍ£¯ÀàµÄÃû³ÆÊÇLight£¬¿ÉÏòLight¶ÔÏó·¢³öµÄÇëÇó°üÀ¨°üÀ¨´ò¿ª£¨on£©¡¢¹Ø±Õ£¨off£©¡¢±äµÃ¸üÃ÷ÁÁ£¨brighten£©»òÕß±äµÃ¸ü°µµ­£¨dim£©¡£Í¨¹ý¼òµ¥µØÉùÃ÷Ò»¸öÃû×Ö£¨lt£©£¬ÎÒÃÇΪLight¶ÔÏó´´½¨ÁËÒ»¸ö¡°¾ä±ú¡±¡£È»ºóÓÃnew¹Ø¼ü×Öн¨ÀàÐÍΪLightµÄÒ»¸ö¶ÔÏó¡£ÔÙÓõȺŽ«Æä¸³¸ø¾ä±ú¡£ÎªÁËÏò¶ÔÏó·¢ËÍÒ»ÌõÏûÏ¢£¬ÎÒÃÇÁгö¾ä±úÃû£¨lt£©£¬ÔÙÓÃÒ»¸ö¾äµã·ûºÅ£¨.£©°ÑËüͬÏûÏ¢Ãû³Æ£¨on£©Á¬½ÓÆðÀ´¡£´ÓÖпÉÒÔ¿´³ö£¬Ê¹ÓÃһЩԤÏȶ¨ÒåºÃµÄÀàʱ£¬ÎÒÃÇÔÚ³ÌÐòÀï²ÉÓõĴúÂëÊǷdz£¼òµ¥ºÍÖ±¹ÛµÄ¡£

1.3 ʵÏÖ·½°¸µÄÒþ²Ø
Ϊ·½±ãºóÃæµÄÌÖÂÛ£¬ÈÃÎÒÃÇÏȶÔÕâÒ»ÁìÓòµÄ´ÓÒµÈËÔ±×÷һϷÖÀà¡£´Ó¸ù±¾ÉÏ˵£¬´óÖÂÓÐÁ½·½ÃæµÄÈËÔ±Éæ×ãÃæÏò¶ÔÏóµÄ±à³Ì£º¡°Àà´´½¨Õß¡±£¨´´½¨ÐÂÊý¾ÝÀàÐ͵ÄÈË£©ÒÔ¼°¡°¿Í»§³ÌÐòÔ±¡±£¨ÔÚ×Ô¼ºµÄÓ¦ÓóÌÐòÖвÉÓÃÏÖ³ÉÊý¾ÝÀàÐ͵ÄÈË£»×¢Ê͢ܣ©¡£¶Ô¿Í»§³ÌÐòÔ±À´½²£¬×îÖ÷ÒªµÄÄ¿±ê¾ÍÊÇÊÕ¼¯Ò»¸ö³ä³âן÷ÖÖÀàµÄ±à³Ì¡°¹¤¾ßÏ䡱£¬ÒÔ±ã¿ìËÙ¿ª·¢·ûºÏ×Ô¼ºÒªÇóµÄÓ¦Ó᣶ø¶ÔÀà´´½¨ÕßÀ´Ëµ£¬ËûÃǵÄÄ¿±êÔòÊÇ´ÓÍ·¹¹½¨Ò»¸öÀֻ࣬Ïò¿Í»§³ÌÐòÔ±¿ª·ÅÓбØÒª¿ª·ÅµÄ¶«Î÷£¨½Ó¿Ú£©£¬ÆäËûËùÓÐϸ½Ú¶¼Òþ²ØÆðÀ´¡£ÎªÊ²Ã´ÒªÕâÑù×ö£¿Òþ²ØÖ®ºó£¬¿Í»§³ÌÐòÔ±¾Í²»ÄܽӴ¥ºÍ¸Ä±äÄÇЩϸ½Ú£¬ËùÒÔÔ­´´Õß²»Óõ£ÐÄ×Ô¼ºµÄ×÷Æ·»áÊܵ½·Ç·¨Ð޸ģ¬¿ÉÈ·±£ËüÃDz»»á¶ÔÆäËûÈËÔì³ÉÓ°Ïì¡£

¢Ü£º¸ÐлÎÒµÄÅóÓÑScott Meyers£¬ÊÇËû°ïÎÒÆðÁËÕâ¸öÃû×Ö¡£

¡°½Ó¿Ú¡±£¨Interface£©¹æ¶¨Á˿ɶÔÒ»¸öÌØ¶¨µÄ¶ÔÏó·¢³öÄÄЩÇëÇó¡£È»¶ø£¬±ØÐëÔÚij¸öµØ·½´æÔÚ×ÅһЩ´úÂ룬ÒÔ±ãÂú×ãÕâЩÇëÇó¡£ÕâЩ´úÂëÓëÄÇЩÒþ²ØÆðÀ´µÄÊý¾Ý±ã½Ð×÷¡°Òþ²ØµÄʵÏÖ¡±¡£Õ¾ÔÚ³Ìʽ»¯³ÌÐò±àд£¨Procedural Programming£©µÄ½Ç¶È£¬Õû¸öÎÊÌâ²¢²»ÏԵø´ÔÓ¡£Ò»ÖÖÀàÐͺ¬ÓÐÓëÿÖÖ¿ÉÄܵÄÇëÇó¹ØÁªÆðÀ´µÄº¯Êý¡£Ò»µ©Ïò¶ÔÏó·¢³öÒ»¸öÌØ¶¨µÄÇëÇ󣬾ͻáµ÷ÓÃÄǸöº¯Êý¡£ÎÒÃÇͨ³£½«Õâ¸ö¹ý³Ì×ܽáΪÏò¶ÔÏó¡°·¢ËÍÒ»ÌõÏûÏ¢¡±£¨Ìá³öÒ»¸öÇëÇ󣩡£¶ÔÏóµÄÖ°Ôð¾ÍÊǾö¶¨ÈçºÎ¶ÔÕâÌõÏûÏ¢×÷³ö·´Ó¦£¨Ö´ÐÐÏàÓ¦µÄ´úÂ룩¡£
¶ÔÓÚÈκιØÏµ£¬ÖØÒªÒ»µãÊÇÈÃÇ£Á¬µ½µÄËùÓгÉÔ±¶¼×ñÊØÏàͬµÄ¹æÔò¡£´´½¨Ò»¸ö¿âʱ£¬Ï൱ÓÚͬ¿Í»§³ÌÐòÔ±½¨Á¢ÁËÒ»ÖÖ¹ØÏµ¡£¶Ô·½Ò²ÊdzÌÐòÔ±£¬µ«ËûÃǵÄÄ¿±êÊÇ×éºÏ³öÒ»¸öÌØ¶¨µÄÓ¦Ó㨳ÌÐò£©£¬»òÕßÓÃÄúµÄ¿â¹¹½¨Ò»¸ö¸ü´óµÄ¿â¡£
ÈôÈκÎÈ˶¼ÄÜʹÓÃÒ»¸öÀàµÄËùÓгÉÔ±£¬ÄÇô¿Í»§³ÌÐòÔ±¿É¶ÔÄǸöÀà×öÈκÎÊÂÇ飬ûÓÐ°ì·¨Ç¿ÖÆËûÃÇ×ñÊØÈκÎÔ¼Êø¡£¼´±ã·Ç³£²»Ô¸¿Í»§³ÌÐòÔ±Ö±½Ó*×÷ÀàÄÚ°üº¬µÄһЩ³ÉÔ±£¬µ«ÌÈÈôδ½øÐзÃÎÊ¿ØÖÆ£¬¾ÍûÓа취×èÖ¹ÕâÒ»Çé¿öµÄ·¢Éú¡ª¡ªËùÓж«Î÷¶¼»á±©Â¶ÎÞÒÅ¡£

ÓÐÁ½·½ÃæµÄÔ­Òò´ÙʹÎÒÃÇ¿ØÖƶԳÉÔ±µÄ·ÃÎÊ¡£µÚÒ»¸öÔ­ÒòÊÇ·ÀÖ¹³ÌÐòÔ±½Ó´¥ËûÃDz»¸Ã½Ó´¥µÄ¶«Î÷¡ª¡ªÍ¨³£ÊÇÄÚ²¿Êý¾ÝÀàÐ͵ÄÉè¼ÆË¼Ïë¡£ÈôÖ»ÊÇΪÁ˽â¾öÌØ¶¨µÄÎÊÌ⣬Óû§Ö»Ðè*×÷½Ó¿Ú¼´¿É£¬ÎãÐèÃ÷°×ÕâЩÐÅÏ¢¡£ÎÒÃÇÏòÓû§ÌṩµÄʵ¼ÊÊÇÒ»ÖÖ·þÎñ£¬ÒòΪËûÃǺÜÈÝÒ׾Ϳɿ´³öÄÄЩ¶Ô×Ô¼º·Ç³£ÖØÒª£¬ÒÔ¼°ÄÄЩ¿ÉºöÂÔ²»¼Æ¡£
½øÐзÃÎÊ¿ØÖƵĵڶþ¸öÔ­ÒòÊÇÔÊÐí¿âÉè¼ÆÈËÔ±ÐÞ¸ÄÄÚ²¿½á¹¹£¬²»Óõ£ÐÄËü»á¶Ô¿Í»§³ÌÐòÔ±Ôì³ÉʲôӰÏì¡£ÀýÈ磬ÎÒÃÇ×ʼ¿ÉÄÜÉè¼ÆÁËÒ»¸öÐÎʽ¼òµ¥µÄÀ࣬ÒÔ±ã¼ò»¯¿ª·¢¡£ÒÔºóÓÖ¾ö¶¨½øÐиÄд£¬Ê¹Æä¸ü¿ìµØÔËÐС£Èô½Ó¿ÚÓëʵÏÖ·½·¨ÔçÒѸôÀ뿪£¬²¢·Ö±ðÊܵ½±£»¤£¬¾Í¿É·ÅÐÄ×öµ½ÕâÒ»µã£¬Ö»ÒªÇóÓû§ÖØÐÂÁ´½Óһϼ´¿É¡£
Java²ÉÓÃÈý¸öÏÔʽ£¨Ã÷È·£©¹Ø¼ü×ÖÒÔ¼°Ò»¸öÒþʽ£¨°µÊ¾£©¹Ø¼ü×ÖÀ´ÉèÖÃÀà±ß½ç£ºpublic£¬private£¬protectedÒÔ¼°°µÊ¾ÐÔµÄfriendly¡£ÈôδÃ÷È·Ö¸¶¨ÆäËû¹Ø¼ü×Ö£¬ÔòĬÈÏΪºóÕß¡£ÕâЩ¹Ø¼ü×ÖµÄʹÓúͺ¬Òå¶¼ÊÇÏ൱ֱ¹ÛµÄ£¬ËüÃǾö¶¨ÁËË­ÄÜʹÓúóÐøµÄ¶¨ÒåÄÚÈÝ¡£¡°public¡±£¨¹«¹²£©ÒâζןóÐøµÄ¶¨ÒåÈκÎÈ˾ù¿ÉʹÓ᣶øÔÚÁíÒ»·½Ã棬¡°private¡±£¨Ë½ÓУ©Òâζ×ųýÄú×Ô¼º¡¢ÀàÐ͵Ĵ´½¨ÕßÒÔ¼°ÄǸöÀàÐ͵ÄÄÚ²¿º¯Êý³ÉÔ±£¬ÆäËûÈκÎÈ˶¼²»ÄÜ·ÃÎʺóÐøµÄ¶¨ÒåÐÅÏ¢¡£privateÔÚÄúÓë¿Í»§³ÌÐòÔ±Ö®¼äÊúÆðÁËÒ»¶Âǽ¡£ÈôÓÐÈËÊÔͼ·ÃÎÊ˽ÓгÉÔ±£¬¾Í»áµÃµ½Ò»¸ö±àÒëÆÚ´íÎ󡣡°friendly¡±£¨ÓѺõģ©Éæ¼°¡°°ü×°¡±»ò¡°·â×°¡±£¨Package£©µÄ¸ÅÄ¡ª¼´JavaÓÃÀ´¹¹½¨¿âµÄ·½·¨¡£ÈôijÑù¶«Î÷ÊÇ¡°ÓѺõġ±£¬Òâζ×ÅËüÖ»ÄÜÔÚÕâ¸ö°ü×°µÄ·¶Î§ÄÚʹÓã¨ËùÒÔÕâÒ»·ÃÎʼ¶±ðÓÐʱҲ½Ð×÷¡°°ü×°·ÃÎÊ¡±£©¡£¡°protected¡±£¨Êܱ£»¤µÄ£©Óë¡°private¡±ÏàËÆ£¬Ö»ÊÇÒ»¸ö¼Ì³ÐµÄÀà¿É·ÃÎÊÊܱ£»¤µÄ³ÉÔ±£¬µ«²»ÄÜ·ÃÎÊ˽ÓгÉÔ±¡£¼Ì³ÐµÄÎÊÌâ²»¾Ã¾ÍҪ̸µ½¡£

1.4 ·½°¸µÄÖØ¸´Ê¹ÓÃ
´´½¨²¢²âÊÔºÃÒ»¸öÀàºó£¬ËüÓ¦£¨´ÓÀíÏëµÄ½Ç¶È£©´ú±íÒ»¸öÓÐÓõĴúÂ뵥λ¡£µ«²¢²»ÏóÐí¶àÈËÏ£ÍûµÄÄÇÑù£¬ÕâÖÖÖØ¸´Ê¹ÓõÄÄÜÁ¦²¢²»ÈÝÒ×ʵÏÖ£»ËüÒªÇó½Ï¶àµÄ¾­ÑéÒÔ¼°¶´²ìÁ¦£¬ÕâÑù²ÅÄÜÉè¼Æ³öÒ»¸öºÃµÄ·½°¸£¬²ÅÓпÉÄÜÖØ¸´Ê¹Óá£
Ðí¶àÈËÈÏΪ´úÂë»òÉè¼Æ·½°¸µÄÖØ¸´Ê¹ÓÃÊÇÃæÏò¶ÔÏóµÄ³ÌÐòÉè¼ÆÌṩµÄ×îΰ´óµÄÒ»Öָܸˡ£
ÎªÖØ¸´Ê¹ÓÃÒ»¸öÀ࣬×î¼òµ¥µÄ°ì·¨ÊǽöÖ±½ÓʹÓÃÄǸöÀàµÄ¶ÔÏó¡£µ«Í¬Ê±Ò²Äܽ«ÄǸöÀàµÄÒ»¸ö¶ÔÏóÖÃÈëÒ»¸öÐÂÀà¡£ÎÒÃǰÑÕâ½Ð×÷¡°´´½¨Ò»¸ö³ÉÔ±¶ÔÏ󡱡£ÐÂÀà¿ÉÓÉÈÎÒâÊýÁ¿ºÍÀàÐÍµÄÆäËû¶ÔÏ󹹳ɡ£ÎÞÂÛÈçºÎ£¬Ö»ÒªÐÂÀà´ïµ½ÁËÉè¼ÆÒªÇó¼´¿É¡£Õâ¸ö¸ÅÄî½Ð×÷¡°×éÖ¯¡±¡ª¡ªÔÚÏÖÓÐÀàµÄ»ù´¡ÉÏ×éÖ¯Ò»¸öÐÂÀà¡£ÓÐʱ£¬ÎÒÃÇÒ²½«×éÖ¯³Æ×÷¡°°üº¬¡±¹ØÏµ£¬±ÈÈç¡°Ò»Á¾³µ°üº¬ÁËÒ»¸ö±äËÙÏ䡱¡£
¶ÔÏóµÄ×éÖ¯¾ßÓм«´óµÄÁé»îÐÔ¡£ÐÂÀàµÄ¡°³ÉÔ±¶ÔÏó¡±Í¨³£ÉèΪ¡°Ë½ÓС±£¨Private£©£¬Ê¹ÓÃÕâ¸öÀàµÄ¿Í»§³ÌÐòÔ±²»ÄÜ·ÃÎÊËüÃÇ¡£ÕâÑùÒ»À´£¬ÎÒÃÇ¿ÉÔÚ²»¸ÉÈſͻ§´úÂëµÄǰÌáÏ£¬´ÓÈݵØÐÞ¸ÄÄÇЩ³ÉÔ±¡£Ò²¿ÉÒÔÔÚ¡°ÔËÐÐÆÚ¡±¸ü¸Ä³ÉÔ±£¬Õâ½øÒ»²½Ôö´óÁËÁé»îÐÔ¡£ºóÃæÒª½²µ½µÄ¡°¼Ì³Ð¡±²¢²»¾ß±¸ÕâÖÖÁé»îÐÔ£¬ÒòΪ±àÒëÆ÷±ØÐë¶Ôͨ¹ý¼Ì³Ð´´½¨µÄÀà¼ÓÒÔÏÞÖÆ¡£
ÓÉÓڼ̳еÄÖØÒªÐÔ£¬ËùÒÔÔÚÃæÏò¶ÔÏóµÄ³ÌÐòÉè¼ÆÖУ¬Ëü¾­³£±»ÖصãÇ¿µ÷¡£×÷ΪмÓÈëÕâÒ»ÁìÓòµÄ³ÌÐòÔ±£¬»òÐíÔçÒÑÏÈÈëΪÖ÷µØÈÏΪ¡°¼Ì³ÐÓ¦µ±Ëæ´¦¿É¼û¡±¡£ÑØÕâÖÖ˼·²úÉúµÄÉè¼Æ½«ÊǷdz£±¿×¾µÄ£¬»á´ó´óÔö¼Ó³ÌÐòµÄ¸´Ôӳ̶ȡ£Ïà·´£¬Ð½¨ÀàµÄʱºò£¬Ê×ÏÈÓ¦¿¼ÂÇ¡°×éÖ¯¡±¶ÔÏó£»ÕâÑù×öÏԵøü¼Ó¼òµ¥ºÍÁé»î¡£ÀûÓöÔÏóµÄ×éÖ¯£¬ÎÒÃǵÄÉè¼Æ¿É±£³ÖÇåˬ¡£Ò»µ©ÐèÒªÓõ½¼Ì³Ð£¬¾Í»áÃ÷ÏÔÒâʶµ½ÕâÒ»µã¡£

1.5 ¼Ì³Ð£ºÖØÐÂʹÓýӿÚ
¾ÍÆä±¾ÉíÀ´Ëµ£¬¶ÔÏóµÄ¸ÅÄî¿ÉΪÎÒÃÇ´øÀ´¼«´óµÄ±ãÀû¡£ËüÔÚ¸ÅÄîÉÏÔÊÐíÎÒÃǽ«¸÷ʽ¸÷ÑùÊý¾ÝºÍ¹¦ÄÜ·â×°µ½Ò»Æð¡£ÕâÑù±ã¿ÉÇ¡µ±±í´ï¡°ÎÊÌâ¿Õ¼ä¡±µÄ¸ÅÄ²»ÓÿÌÒâ×ñÕÕ»ù´¡»úÆ÷µÄ±í´ï·½Ê½¡£ÔÚ³ÌÐòÉè¼ÆÓïÑÔÖУ¬ÕâЩ¸ÅÄîÔò·´Ó³Îª¾ßÌåµÄÊý¾ÝÀàÐÍ£¨Ê¹ÓÃclass¹Ø¼ü×Ö£©¡£
ÎÒÃǷѾ¡ÐÄ˼×ö³öÒ»ÖÖÊý¾ÝÀàÐͺ󣬼ÙÈç²»µÃ²»ÓÖн¨Ò»ÖÖÀàÐÍ£¬ÁîÆäʵÏÖ´óÖÂÏàͬµÄ¹¦ÄÜ£¬ÄÇ»áÊÇÒ»¼þ·Ç³£ÁîÈË»ÒÐĵÄÊÂÇé¡£µ«ÈôÄÜÀûÓÃÏֳɵÄÊý¾ÝÀàÐÍ£¬¶ÔÆä½øÐС°¿Ë¡¡±£¬ÔÙ¸ù¾ÝÇé¿ö½øÐÐÌí¼ÓºÍÐ޸ģ¬Çé¿ö¾ÍÏÔµÃÀíÏë¶àÁË¡£¡°¼Ì³Ð¡±ÕýÊÇÕë¶ÔÕâ¸öÄ¿±ê¶øÉè¼ÆµÄ¡£µ«¼Ì³Ð²¢²»ÍêÈ«µÈ¼ÛÓÚ¿Ë¡¡£Ôڼ̳йý³ÌÖУ¬ÈôԭʼÀࣨÕýʽÃû³Æ½Ð×÷»ù´¡Àà¡¢³¬Àà»ò¸¸Àࣩ·¢ÉúÁ˱仯£¬Ð޸ĹýµÄ¡°¿Ë¡¡±ÀࣨÕýʽÃû³Æ½Ð×÷¼Ì³ÐÀà»òÕß×ÓÀࣩҲ»á·´Ó³³öÕâÖֱ仯¡£ÔÚJavaÓïÑÔÖУ¬¼Ì³ÐÊÇͨ¹ýextends¹Ø¼ü×ÖʵÏÖµÄ
ʹÓü̳Ðʱ£¬Ï൱ÓÚ´´½¨ÁËÒ»¸öÐÂÀà¡£Õâ¸öÐÂÀ಻½ö°üº¬ÁËÏÖÓÐÀàÐ͵ÄËùÓгÉÔ±£¨¾¡¹Üprivate³ÉÔ±±»Òþ²ØÆðÀ´£¬ÇÒ²»ÄÜ·ÃÎÊ£©£¬µ«¸üÖØÒªµÄÊÇ£¬Ëü¸´ÖÆÁË»ù´¡ÀàµÄ½Ó¿Ú¡£Ò²¾ÍÊÇ˵£¬¿ÉÏò»ù´¡ÀàµÄ¶ÔÏó·¢Ë͵ÄËùÓÐÏûÏ¢Òà¿ÉÔ­Ñù·¢¸øÑÜÉúÀàµÄ¶ÔÏ󡣸ù¾Ý¿ÉÒÔ·¢Ë͵ÄÏûÏ¢£¬ÎÒÃÇÄÜÖªµÀÀàµÄÀàÐÍ¡£ÕâÒâζ×ÅÑÜÉúÀà¾ßÓÐÓë»ù´¡ÀàÏàͬµÄÀàÐÍ£¡ÎªÕæÕýÀí½âÃæÏò¶ÔÏó³ÌÐòÉè¼ÆµÄº¬Ò壬Ê×ÏȱØÐëÈÏʶµ½ÕâÖÖÀàÐ͵ĵȼ۹ØÏµ¡£
ÓÉÓÚ»ù´¡ÀàºÍÑÜÉúÀà¾ßÓÐÏàͬµÄ½Ó¿Ú£¬ËùÒÔÄǸö½Ó¿Ú±ØÐë½øÐÐÌØÊâµÄÉè¼Æ¡£Ò²¾ÍÊÇ˵£¬¶ÔÏó½ÓÊÕµ½Ò»ÌõÌØ¶¨µÄÏûÏ¢ºó£¬±ØÐëÓÐÒ»¸ö¡°·½·¨¡±Äܹ»Ö´ÐС£ÈôÖ»ÊǼòµ¥µØ¼Ì³ÐÒ»¸öÀ࣬²¢²»×öÆäËûÈκÎÊÂÇ飬À´×Ô»ù´¡Àà½Ó¿ÚµÄ·½·¨¾Í»áÖ±½ÓÕÕ°áµ½ÑÜÉúÀà¡£ÕâÒâζ×ÅÑÜÉúÀàµÄ¶ÔÏó²»½öÓÐÏàͬµÄÀàÐÍ£¬Ò²ÓÐͬÑùµÄÐÐΪ£¬ÕâÒ»ºó¹ûͨ³£ÊÇÎÒÃDz»Ô¸¼ûµ½µÄ¡£
ÓÐÁ½ÖÖ×ö·¨¿É½«ÐµõÄÑÜÉúÀàÓëÔ­À´µÄ»ù´¡ÀàÇø·Ö¿ª¡£µÚÒ»ÖÖ×ö·¨Ê®·Ö¼òµ¥£ºÎªÑÜÉúÀàÌí¼Óк¯Êý£¨¹¦ÄÜ£©¡£ÕâЩк¯Êý²¢·Ç»ù´¡Àà½Ó¿ÚµÄÒ»²¿·Ö¡£½øÐÐÕâÖÖ´¦Àíʱ£¬Ò»°ã¶¼ÊÇÒâʶµ½»ù´¡À಻ÄÜÂú×ãÎÒÃǵÄÒªÇó£¬ËùÒÔÐèÒªÌí¼Ó¸ü¶àµÄº¯Êý¡£ÕâÊÇÒ»ÖÖ×î¼òµ¥¡¢×î»ù±¾µÄ¼Ì³ÐÓ÷¨£¬´ó¶àÊýʱºò¶¼¿ÉÍêÃÀµØ½â¾öÎÒÃǵÄÎÊÌ⡣Ȼ¶ø£¬ÊÂÏÈ»¹ÊÇÒª×Ðϸµ÷²é×Ô¼ºµÄ»ù´¡ÀàÊÇ·ñÕæµÄÐèÒªÕâЩ¶îÍâµÄº¯Êý¡£

1.5.1 ¸ÄÉÆ»ù´¡Àà
¾¡¹Üextends¹Ø¼ü×Ö°µÊ¾×ÅÎÒÃÇҪΪ½Ó¿Ú¡°À©Õ¹¡±Ð¹¦ÄÜ£¬µ«ÊµÇé²¢·Ç¿Ï¶¨Èç´Ë¡£ÎªÇø·ÖÎÒÃǵÄÐÂÀ࣬µÚ¶þ¸ö°ì·¨ÊǸıä»ù´¡ÀàÒ»¸öÏÖÓк¯ÊýµÄÐÐΪ¡£ÎÒÃǽ«Æä³Æ×÷¡°¸ÄÉÆ¡±ÄǸöº¯Êý¡£
Ϊ¸ÄÉÆÒ»¸öº¯Êý£¬Ö»ÐèΪÑÜÉúÀàµÄº¯Êý½¨Á¢Ò»¸öж¨Òå¼´¿É¡£ÎÒÃǵÄÄ¿±êÊÇ£º¡°¾¡¹ÜʹÓõĺ¯Êý½Ó¿Úδ±ä£¬µ«ËüµÄа汾¾ßÓв»Í¬µÄ±íÏÖ¡±¡£

1.5.2 µÈ¼ÛÓëÀàËÆ¹ØÏµ
Õë¶Ô¼Ì³Ð¿ÉÄÜ»á²úÉúÕâÑùµÄÒ»¸öÕùÂÛ£º¼Ì³ÐÖ»ÄܸÄÉÆÔ­»ù´¡ÀàµÄº¯ÊýÂð£¿Èô´ð°¸Êǿ϶¨µÄ£¬ÔòÑÜÉúÀàÐ;ÍÊÇÓë»ù´¡ÀàÍêÈ«ÏàͬµÄÀàÐÍ£¬ÒòΪ¶¼ÓµÓÐÍêÈ«ÏàͬµÄ½Ó¿Ú¡£ÕâÑùÔì³ÉµÄ½á¹û¾ÍÊÇ£ºÎÒÃÇÍêÈ«Äܹ»½«ÑÜÉúÀàµÄÒ»¸ö¶ÔÏ󻻳ɻù´¡ÀàµÄÒ»¸ö¶ÔÏ󣡿ɽ«ÆäÏëÏó³ÉÒ»ÖÖ¡°´¿Ìæ»»¡±¡£ÔÚijÖÖÒâÒåÉÏ£¬ÕâÊǽøÐм̳еÄÒ»ÖÖÀíÏ뷽ʽ¡£´Ëʱ£¬ÎÒÃÇͨ³£ÈÏΪ»ù´¡ÀàºÍÑÜÉúÀàÖ®¼ä´æÔÚÒ»ÖÖ¡°µÈ¼Û¡±¹ØÏµ¡ª¡ªÒòΪÎÒÃÇ¿ÉÒÔÀíÖ±Æø×³µØËµ£º¡°Ô²¾ÍÊÇÒ»ÖÖ¼¸ºÎÐÎ×´¡±¡£ÎªÁ˶Լ̳нøÐвâÊÔ£¬Ò»¸ö°ì·¨¾ÍÊÇ¿´¿´×Ô¼ºÊÇ·ñÄܰÑËüÃÇÌ×ÈëÕâÖÖ¡°µÈ¼Û¡±¹ØÏµÖУ¬¿´¿´ÊÇ·ñÓÐÒâÒå¡£
µ«ÔÚÐí¶àʱºò£¬ÎÒÃDZØÐëΪÑÜÉúÀàÐͼÓÈëеĽӿÚÔªËØ¡£ËùÒÔ²»½öÀ©Õ¹Á˽ӿڣ¬Ò²´´½¨ÁËÒ»ÖÖÐÂÀàÐÍ¡£ÕâÖÖÐÂÀàÐÍÈÔ¿ÉÌæ»»³É»ù´¡ÀàÐÍ£¬µ«ÕâÖÖÌæ»»²¢²»ÊÇÍêÃÀµÄ£¬ÒòΪ²»¿ÉÔÚ»ù´¡ÀàÀï·ÃÎÊк¯Êý¡£ÎÒÃǽ«Æä³Æ×÷¡°ÀàËÆ¡±¹ØÏµ£»ÐÂÀàÐÍÓµÓоÉÀàÐ͵Ľӿڣ¬µ«Ò²°üº¬ÁËÆäËûº¯Êý£¬ËùÒÔ²»ÄÜ˵ËüÃÇÊÇÍêÈ«µÈ¼ÛµÄ¡£¾Ù¸öÀý×ÓÀ´Ëµ£¬ÈÃÎÒÃÇ¿¼ÂÇÒ»Ï*ÆÀä»úµÄÇé¿ö¡£¼Ù¶¨ÎÒÃǵķ¿¼äÁ¬ºÃÁËÓÃÓÚÖÆÀäµÄ¸÷ÖÖ¿ØÖÆÆ÷£»Ò²¾ÍÊÇ˵£¬ÎÒÃÇÒÑÓµÓбØÒªµÄ¡°½Ó¿Ú¡±À´¿ØÖÆÖÆÀä¡£ÏÖÔÚ¼ÙÉè»úÆ÷³öÁ˹ÊÕÏ£¬ÎÒÃǰÑËü»»³Éһ̨ÐÂÐ͵ÄÀä¡¢ÈÈÁ½Óÿյ÷£¬¶¬ÌìºÍÏÄÌì¾ù¿ÉʹÓá£Àä¡¢Èȿյ÷¡°ÀàËÆ¡±ÖÆÀä»ú£¬µ«ÄÜ×ö¸ü¶àµÄÊÂÇé¡£ÓÉÓÚÎÒÃǵķ¿¼äÖ»°²×°ÁË¿ØÖÆÖÆÀäµÄÉ豸£¬ËùÒÔËüÃÇÖ»ÏÞÓÚͬлúÆ÷µÄÖÆÀ䲿·Ö´ò½»µÀ¡£Ð»úÆ÷µÄ½Ó¿ÚÒѵõ½ÁËÀ©Õ¹£¬µ«ÏÖÓеÄϵͳ²¢²»ÖªµÀ³ýԭʼ½Ó¿ÚÒÔÍâµÄÈκζ«Î÷¡£
ÈÏʶÁ˵ȼÛÓëÀàËÆµÄÇø±ðºó£¬ÔÙ½øÐÐÌæ»»Ê±¾Í»áÓаÑÎյöࡣ¾¡¹Ü´ó¶àÊýʱºò¡°´¿Ìæ»»¡±ÒѾ­×ã¹»£¬µ«Äú»á·¢ÏÖÔÚijЩÇé¿öÏ£¬ÈÔÈ»ÓÐÃ÷ÏÔµÄÀíÓÉÐèÒªÔÚÑÜÉúÀàµÄ»ù´¡ÉÏÔöÌíй¦ÄÜ¡£Í¨¹ýÇ°Ãæ¶ÔÕâÁ½ÖÖÇé¿öµÄÌÖÂÛ£¬ÏàÐÅ´ó¼ÒÒÑÐÄÖÐÓÐÊý¸ÃÈçºÎ×ö¡£

1.6 ¶àÐζÔÏóµÄ»¥»»Ê¹ÓÃ
ͨ³££¬¼Ì³Ð×îÖÕ»áÒÔ´´½¨Ò»ÏµÁÐÀàÊÕ³¡£¬ËùÓÐÀà¶¼½¨Á¢ÔÚͳһµÄ½Ó¿Ú»ù´¡ÉÏ¡£ÎÒÃÇÓÃÒ»·ùµßµ¹µÄÊ÷ÐÎͼÀ´²ûÃ÷ÕâÒ»µã£¨×¢Ê͢ݣ©£º

¢Ý£ºÕâ¶ù²ÉÓÃÁË¡°Í³Ò»¼ÇºÅ·¨¡±£¬±¾Ê齫Ö÷Òª²ÉÓÃÕâÖÖ·½·¨¡£

¶ÔÕâÑùµÄһϵÁÐÀ࣬ÎÒÃÇÒª½øÐеÄÒ»ÏîÖØÒª´¦Àí¾ÍÊǽ«ÑÜÉúÀàµÄ¶ÔÏóµ±×÷»ù´¡ÀàµÄÒ»¸ö¶ÔÏó¶Ô´ý¡£ÕâÒ»µãÊǷdz£ÖØÒªµÄ£¬ÒòΪËüÒâζ×ÅÎÒÃÇÖ»Ðè±àдµ¥Ò»µÄ´úÂ룬ÁîÆäºöÂÔÀàÐ͵ÄÌØ¶¨Ï¸½Ú£¬Ö»Óë»ù´¡Àà´ò½»µÀ¡£ÕâÑùÒ»À´£¬ÄÇЩ´úÂë¾Í¿ÉÓëÀàÐÍÐÅÏ¢·Ö¿ª¡£ËùÒÔ¸üÒ×±àд£¬Ò²¸üÒ×Àí½â¡£´ËÍ⣬Èôͨ¹ý¼Ì³ÐÔöÌíÁËÒ»ÖÖÐÂÀàÐÍ£¬Èç¡°Èý½ÇÐΡ±£¬ÄÇôÎÒÃÇΪ¡°¼¸ºÎÐÎ×´¡±ÐÂÀàÐͱàдµÄ´úÂë»áÏóÔÚ¾ÉÀàÐÍÀïÒ»ÑùÁ¼ºÃµØ¹¤×÷¡£ËùÒÔ˵³ÌÐò¾ß±¸ÁË¡°À©Õ¹ÄÜÁ¦¡±£¬¾ßÓС°À©Õ¹ÐÔ¡±¡£
ÒÔÉÏÃæµÄÀý×ÓΪ»ù´¡£¬¼ÙÉèÎÒÃÇÓÃJavaдÁËÕâÑùÒ»¸öº¯Êý£º



void doStuff(Shape s) {
s.erase();
// ...
s.draw();
}

Õâ¸öº¯Êý¿ÉÓëÈκΡ°¼¸ºÎÐÎ×´¡±£¨Shape£©Í¨ÐÅ£¬ËùÒÔÍêÈ«¶ÀÁ¢ÓÚËüÒªÃè»æ£¨draw£©ºÍɾ³ý£¨erase£©µÄÈκÎÌØ¶¨ÀàÐ͵ĶÔÏó¡£Èç¹ûÎÒÃÇÔÚÆäËûһЩ³ÌÐòÀïʹÓÃdoStuff()º¯Êý£º


Circle c = new Circle();
Triangle t = new Triangle();
Line l = new Line();
doStuff(c);
doStuff(t);
doStuff(l);

ÄÇô¶ÔdoStuff()µÄµ÷Óûá×Ô¶¯Á¼ºÃµØ¹¤×÷£¬ÎÞÂÛ¶ÔÏóµÄ¾ßÌåÀàÐÍÊÇʲô¡£
Õâʵ¼ÊÊÇÒ»¸ö·Ç³£ÓÐÓõıà³Ì¼¼ÇÉ¡£Ç뿼ÂÇÏÂÃæÕâÐдúÂ룺
doStuff(c);
´Ëʱ£¬Ò»¸öCircle£¨Ô²£©¾ä±ú´«µÝ¸øÒ»¸ö±¾À´ÆÚ´ýShape£¨ÐÎ×´£©¾ä±úµÄº¯Êý¡£ÓÉÓÚÔ²ÊÇÒ»ÖÖ¼¸ºÎÐÎ×´£¬ËùÒÔdoStuff()ÄÜÕýÈ·µØ½øÐд¦Àí¡£Ò²¾ÍÊÇ˵£¬·²ÊÇdoStuff()ÄÜ·¢¸øÒ»¸öShapeµÄÏûÏ¢£¬CircleÒ²ÄܽÓÊÕ¡£ËùÒÔÕâÑù×öÊǰ²È«µÄ£¬²»»áÔì³É´íÎó¡£
ÎÒÃǽ«ÕâÖÖ°ÑÑÜÉúÀàÐ͵±×÷ËüµÄ»ù±¾ÀàÐÍ´¦ÀíµÄ¹ý³Ì½Ð×÷¡°Upcasting¡±£¨ÉÏËÝÔìÐÍ£©¡£ÆäÖУ¬¡°cast¡±£¨ÔìÐÍ£©ÊÇÖ¸¸ù¾ÝÒ»¸öÏֳɵÄÄ£ÐÍ´´½¨£»¶ø¡°Up¡±£¨ÏòÉÏ£©±íÃ÷¼Ì³ÐµÄ·½ÏòÊÇ´Ó¡°ÉÏÃæ¡±À´µÄ¡ª¡ª¼´»ù´¡ÀàλÓÚ¶¥²¿£¬¶øÑÜÉúÀàÔÚÏ·½Õ¹¿ª¡£ËùÒÔ£¬¸ù¾Ý»ù´¡Àà½øÐÐÔìÐ;ÍÊÇÒ»¸ö´ÓÉÏÃæ¼Ì³ÐµÄ¹ý³Ì£¬¼´¡°Upcasting¡±¡£
ÔÚÃæÏò¶ÔÏóµÄ³ÌÐòÀͨ³£¶¼ÒªÓõ½ÉÏËÝÔìÐͼ¼Êõ¡£ÕâÊDZÜÃâÈ¥µ÷²é׼ȷÀàÐ͵ÄÒ»¸öºÃ°ì·¨¡£Çë¿´¿´doStuff()ÀïµÄ´úÂ룺

s.erase();
// ...
s.draw();

×¢ÒâËü²¢Î´ÕâÑù±í´ï£º¡°Èç¹ûÄãÊÇÒ»¸öCircle£¬¾ÍÕâÑù×ö£»Èç¹ûÄãÊÇÒ»¸öSquare£¬¾ÍÄÇÑù×ö£»µÈµÈ¡±¡£ÈôÄÇÑù±àд´úÂ룬¾ÍÐè¼ì²éÒ»¸öShapeËùÓпÉÄܵÄÀàÐÍ£¬ÈçÔ²¡¢¾ØÐεȵȡ£ÕâÏÔÈ»ÊǷdz£Âé·³µÄ£¬¶øÇÒÿ´ÎÌí¼ÓÁËÒ»ÖÖеÄShapeÀàÐͺ󣬶¼ÒªÏàÓ¦µØ½øÐÐÐ޸ġ£ÔÚÕâ¶ù£¬ÎÒÃÇÖ»Ðè˵£º¡°ÄãÊÇÒ»ÖÖ¼¸ºÎÐÎ×´£¬ÎÒÖªµÀÄãÄܽ«×Ô¼ºÉ¾µô£¬¼´erase()£»Çë×Ô¼º²ÉÈ¡ÄǸöÐж¯£¬²¢×Ô¼ºÈ¥¿ØÖÆËùÓеÄϸ½Ú°É¡£¡±

1.6.1 ¶¯Ì¬°ó¶¨
ÔÚdoStuff()µÄ´úÂëÀ×îÈÃÈ˳ԾªµÄÊǾ¡¹ÜÎÒÃÇû×÷³öÈκÎÌØÊâָʾ£¬²ÉÈ¡µÄ*×÷Ò²ÊÇÍêÈ«ÕýÈ·ºÍÇ¡µ±µÄ¡£ÎÒÃÇÖªµÀ£¬ÎªCircleµ÷ÓÃdraw()ʱִÐеĴúÂëÓëΪһ¸öSquare»òLineµ÷ÓÃdraw()ʱִÐеĴúÂëÊDz»Í¬µÄ¡£µ«ÔÚ½«draw()ÏûÏ¢·¢¸øÒ»¸öÄäÃûShapeʱ£¬¸ù¾ÝShape¾ä±úµ±Ê±Á¬½ÓµÄʵ¼ÊÀàÐÍ£¬»áÏàÓ¦µØ²ÉÈ¡ÕýÈ·µÄ*×÷¡£Õ⵱ȻÁîÈ˾ªÑÈ£¬ÒòΪµ±Java±àÒëÆ÷ΪdoStuff()±àÒë´úÂëʱ£¬Ëü²¢²»ÖªµÀ×Ô¼ºÒª*×÷µÄ׼ȷÀàÐÍÊÇʲô¡£¾¡¹ÜÎÒÃÇȷʵ¿ÉÒÔ±£Ö¤×îÖÕ»áΪShapeµ÷ÓÃerase()£¬ÎªShapeµ÷ÓÃdraw()£¬µ«²¢²»Äܱ£Ö¤ÎªÌض¨µÄCircle£¬Square»òÕßLineµ÷ÓÃʲô¡£È»¶ø×îºó²ÉÈ¡µÄ*×÷ͬÑùÊÇÕýÈ·µÄ£¬ÕâÊÇÔõô×öµ½µÄÄØ£¿
½«Ò»ÌõÏûÏ¢·¢¸ø¶ÔÏóʱ£¬Èç¹û²¢²»ÖªµÀ¶Ô·½µÄ¾ßÌåÀàÐÍÊÇʲô£¬µ«²ÉÈ¡µÄÐж¯Í¬ÑùÊÇÕýÈ·µÄ£¬ÕâÖÖÇé¿ö¾Í½Ð×÷¡°¶àÐÎÐÔ¡±£¨Polymorphism£©¡£¶ÔÃæÏò¶ÔÏóµÄ³ÌÐòÉè¼ÆÓïÑÔÀ´Ëµ£¬ËüÃÇÓÃÒÔʵÏÖ¶àÐÎÐԵķ½·¨½Ð×÷¡°¶¯Ì¬°ó¶¨¡±¡£±àÒëÆ÷ºÍÔËÐÐÆÚϵͳ»á¸ºÔð¶ÔËùÓÐϸ½ÚµÄ¿ØÖÆ£»ÎÒÃÇÖ»ÐèÖªµÀ»á·¢ÉúʲôÊÂÇ飬¶øÇÒ¸üÖØÒªµÄÊÇ£¬ÈçºÎÀûÓÃËü°ïÖú×Ô¼ºÉè¼Æ³ÌÐò¡£
ÓÐЩÓïÑÔÒªÇóÎÒÃÇÓÃÒ»¸öÌØÊâµÄ¹Ø¼ü×ÖÀ´ÔÊÐí¶¯Ì¬°ó¶¨¡£ÔÚC++ÖУ¬Õâ¸ö¹Ø¼ü×ÖÊÇvirtual¡£ÔÚJavaÖУ¬ÎÒÃÇÔòÍêÈ«²»±Ø¼ÇסÌí¼ÓÒ»¸ö¹Ø¼ü×Ö£¬ÒòΪº¯ÊýµÄ¶¯Ì¬°ó¶¨ÊÇ×Ô¶¯½øÐеġ£ËùÒÔÔÚ½«Ò»ÌõÏûÏ¢·¢¸ø¶ÔÏóʱ£¬ÎÒÃÇÍêÈ«¿ÉÒԿ϶¨¶ÔÏó»á²ÉÈ¡ÕýÈ·µÄÐж¯£¬¼´Ê¹ÆäÖÐÉæ¼°ÉÏËÝÔìÐÍÖ®ÀàµÄ´¦Àí¡£

1.6.2 ³éÏóµÄ»ù´¡ÀàºÍ½Ó¿Ú
Éè¼Æ³ÌÐòʱ£¬ÎÒÃǾ­³£¶¼Ï£Íû»ù´¡ÀàֻΪ×Ô¼ºµÄÑÜÉúÀàÌṩһ¸ö½Ó¿Ú¡£Ò²¾ÍÊÇ˵£¬ÎÒÃDz»ÏëÆäËûÈκÎÈËʵ¼Ê´´½¨»ù´¡ÀàµÄÒ»¸ö¶ÔÏó£¬Ö»¶ÔÉÏËÝÔìÐͳÉËü£¬ÒÔ±ãʹÓÃËüÃǵĽӿڡ£Îª´ïµ½Õâ¸öÄ¿µÄ£¬ÐèÒª°ÑÄǸöÀà±ä³É¡°³éÏ󡱵ġª¡ªÊ¹ÓÃabstract¹Ø¼ü×Ö¡£ÈôÓÐÈËÊÔͼ´´½¨³éÏóÀàµÄÒ»¸ö¶ÔÏ󣬱àÒëÆ÷¾Í»á×èÖ¹ËûÃÇ¡£ÕâÖÖ¹¤¾ß¿ÉÓÐÐ§Ç¿ÖÆÊµÐÐÒ»ÖÖÌØÊâµÄÉè¼Æ¡£
Òà¿ÉÓÃabstract¹Ø¼ü×ÖÃèÊöÒ»¸öÉÐδʵÏֵķ½·¨¡ª¡ª×÷Ϊһ¸ö¡°¸ù¡±Ê¹Óã¬Ö¸³ö£º¡°ÕâÊÇÊÊÓÃÓÚ´ÓÕâ¸öÀà¼Ì³ÐµÄËùÓÐÀàÐ͵ÄÒ»¸ö½Ó¿Úº¯Êý£¬µ«Ä¿Ç°ÉÐûÓжÔËü½øÐÐÈκÎÐÎʽµÄʵÏÖ¡£¡±³éÏó·½·¨Ò²ÐíÖ»ÄÜÔÚÒ»¸ö³éÏóÀàÀï´´½¨¡£¼Ì³ÐÁËÒ»¸öÀàºó£¬ÄǸö·½·¨¾Í±ØÐëʵÏÖ£¬·ñÔò¼Ì³ÐµÄÀàÒ²»á±ä³É¡°³éÏó¡±Àࡣͨ¹ý´´½¨Ò»¸ö³éÏó·½·¨£¬ÎÒÃÇ¿ÉÒÔ½«Ò»¸ö·½·¨ÖÃÈë½Ó¿ÚÖУ¬²»±ØÔÙΪÄǸö·½·¨Ìṩ¿ÉÄܺÁÎÞÒâÒåµÄÖ÷Ìå´úÂë¡£
interface£¨½Ó¿Ú£©¹Ø¼ü×Ö½«³éÏóÀàµÄ¸ÅÄî¸üÑÓÉìÁËÒ»²½£¬ËüÍêÈ«½ûÖ¹ÁËËùÓеĺ¯Êý¶¨Òå¡£¡°½Ó¿Ú¡±ÊÇÒ»ÖÖÏ൱ÓÐЧºÍ³£ÓõŤ¾ß¡£ÁíÍâÈç¹û×Ô¼ºÔ¸Ò⣬Òà¿É½«¶à¸ö½Ó¿Ú¶¼ºÏ²¢µ½Ò»Æð£¨²»ÄÜ´Ó¶à¸öÆÕͨclass»òabstract classÖм̳У©¡£

1.7 ¶ÔÏóµÄ´´½¨ºÍ´æÔÚʱ¼ä
´Ó¼¼Êõ½Ç¶È˵£¬OOP£¨ÃæÏò¶ÔÏó³ÌÐòÉè¼Æ£©Ö»ÊÇÉæ¼°³éÏóµÄÊý¾ÝÀàÐÍ¡¢¼Ì³ÐÒÔ¼°¶àÐÎÐÔ£¬µ«ÁíһЩÎÊÌâÒ²¿ÉÄÜÏԵ÷dz£ÖØÒª¡£±¾½Ú½«¾ÍÕâЩÎÊÌâ½øÐÐ̽ÌÖ¡£
×îÖØÒªµÄÎÊÌâÖ®Ò»ÊǶÔÏóµÄ´´½¨¼°ÆÆ»µ·½Ê½¡£¶ÔÏóÐèÒªµÄÊý¾ÝλÓÚÄĶù£¬ÈçºÎ¿ØÖƶÔÏóµÄ¡°´æÔÚʱ¼ä¡±ÄØ£¿Õë¶ÔÕâ¸öÎÊÌ⣬½â¾öµÄ·½°¸ÊǸ÷ÒìÆäȤµÄ¡£C++ÈÏΪ³ÌÐòµÄÖ´ÐÐЧÂÊÊÇ×îÖØÒªµÄÒ»¸öÎÊÌ⣬ËùÒÔËüÔÊÐí³ÌÐòÔ±×÷³öÑ¡Ôñ¡£Îª»ñµÃ×î¿ìµÄÔËÐÐËÙ¶È£¬´æ´¢ÒÔ¼°´æÔÚʱ¼ä¿ÉÔÚ±àд³ÌÐòʱ¾ö¶¨£¬Ö»Ð轫¶ÔÏó·ÅÖÃÔÚ¶ÑÕ»£¨ÓÐʱҲ½Ð×÷×Ô¶¯»ò¶¨Óò±äÁ¿£©»òÕß¾²Ì¬´æ´¢ÇøÓò¼´¿É¡£ÕâÑù±ãΪ´æ´¢¿Õ¼äµÄ·ÖÅäºÍÊÍ·ÅÌṩÁËÒ»¸öÓÅÏȼ¶¡£Ä³Ð©Çé¿öÏ£¬ÕâÖÖÓÅÏȼ¶µÄ¿ØÖÆÊǷdz£ÓмÛÖµµÄ¡£È»¶ø£¬ÎÒÃÇͬʱҲÎþÉüÁËÁé»îÐÔ£¬ÒòΪÔÚ±àд³ÌÐòʱ£¬±ØÐëÖªµÀ¶ÔÏóµÄ׼ȷµÄÊýÁ¿¡¢´æÔÚʱ¼ä¡¢ÒÔ¼°ÀàÐÍ¡£Èç¹ûÒª½â¾öµÄÊÇÒ»¸ö½Ï³£¹æµÄÎÊÌ⣬Èç¼ÆËã»ú¸¨ÖúÉè¼Æ¡¢²Ö´¢¹ÜÀí»òÕß¿ÕÖн»Í¨¿ØÖÆ£¬ÕâÒ»·½·¨¾ÍÏÔµÃÌ«¾ÖÏÞÁË¡£
µÚ¶þ¸ö·½·¨ÊÇÔÚÒ»¸öÄÚ´æ³ØÖж¯Ì¬´´½¨¶ÔÏ󣬸ÃÄÚ´æ³ØÒà½Ð¡°¶Ñ¡±»òÕß¡°ÄÚ´æ¶Ñ¡±¡£Èô²ÉÓÃÕâÖÖ·½Ê½£¬³ý·Ç½øÈëÔËÐÐÆÚ£¬·ñÔò¸ù±¾²»ÖªµÀµ½µ×ÐèÒª¶àÉÙ¸ö¶ÔÏó£¬Ò²²»ÖªµÀËüÃǵĴæÔÚʱ¼äÓж೤£¬ÒÔ¼°×¼È·µÄÀàÐÍÊÇʲô¡£ÕâЩ²ÎÊý¶¼ÔÚ³ÌÐòÕýʽÔËÐÐʱ²Å¾ö¶¨µÄ¡£ÈôÐèÒ»¸öжÔÏó£¬Ö»ÐèÔÚÐèÒªËüµÄʱºòÔÚÄÚ´æ¶ÑÀï¼òµ¥µØ´´½¨Ëü¼´¿É¡£ÓÉÓÚ´æ´¢¿Õ¼äµÄ¹ÜÀíÊÇÔËÐÐÆÚ¼ä¶¯Ì¬½øÐеģ¬ËùÒÔÔÚÄÚ´æ¶ÑÀï·ÖÅä´æ´¢¿Õ¼äµÄʱ¼ä±ÈÔÚ¶ÑÕ»Àï´´½¨µÄʱ¼ä³¤µÃ¶à£¨ÔÚ¶ÑÕ»Àï´´½¨´æ´¢¿Õ¼äÒ»°ãÖ»ÐèÒªÒ»¸ö¼òµ¥µÄÖ¸Á½«¶ÑÕ»Ö¸ÕëÏòÏ»òÏòÏÂÒÆ¶¯¼´¿É£©¡£ÓÉÓÚ¶¯Ì¬´´½¨·½·¨Ê¹¶ÔÏó±¾À´¾ÍÇãÏòÓÚ¸´ÔÓ£¬ËùÒÔ²éÕÒ´æ´¢¿Õ¼äÒÔ¼°ÊÍ·ÅËüËùÐèµÄ¶îÍ⿪Ïú²»»áΪ¶ÔÏóµÄ´´½¨Ôì³ÉÃ÷ÏÔµÄÓ°Ïì¡£³ý´ËÒÔÍ⣬¸ü´óµÄÁé»îÐÔ¶ÔÓÚ³£¹æ±à³ÌÎÊÌâµÄ½â¾öÊÇÖÁ¹ØÖØÒªµÄ¡£
C++ÔÊÐíÎÒÃǾö¶¨ÊÇÔÚд³ÌÐòʱ´´½¨¶ÔÏ󣬻¹ÊÇÔÚÔËÐÐÆÚ¼ä´´½¨£¬ÕâÖÖ¿ØÖÆ·½·¨¸ü¼ÓÁé»î¡£´ó¼Ò»òÐíÈÏΪ¼ÈÈ»ËüÈç´ËÁé»î£¬ÄÇôÎÞÂÛÈçºÎ¶¼Ó¦ÔÚÄÚ´æ¶ÑÀï´´½¨¶ÔÏ󣬶ø²»ÊÇÔÚ¶ÑÕ»Öд´½¨¡£µ«»¹Òª¿¼ÂÇÁíÍâÒ»¸öÎÊÌ⣬Ò༴¶ÔÏóµÄ¡°´æÔÚʱ¼ä¡±»òÕß¡°Éú´æÊ±¼ä¡±£¨Lifetime£©¡£ÈôÔÚ¶ÑÕ»»òÕß¾²Ì¬´æ´¢¿Õ¼äÀï´´½¨Ò»¸ö¶ÔÏ󣬱àÒëÆ÷»áÅж϶ÔÏóµÄ³ÖÐøÊ±¼äÓж೤£¬µ½Ê±»á×Ô¶¯¡°ÆÆ»µ¡±»òÕß¡°Çå³ý¡±Ëü¡£³ÌÐòÔ±¿ÉÓÃÁ½ÖÖ·½·¨À´ÆÆ»µÒ»¸ö¶ÔÏó£ºÓóÌÐò»¯µÄ·½Ê½¾ö¶¨ºÎÊ±ÆÆ»µ¶ÔÏ󣬻òÕßÀûÓÃÓÉÔËÐл·¾³ÌṩµÄÒ»ÖÖ¡°À¬»øÊÕ¼¯Æ÷¡±ÌØÐÔ£¬×Ô¶¯Ñ°ÕÒÄÇЩ²»ÔÙʹÓõĶÔÏ󣬲¢½«ÆäÇå³ý¡£µ±È»£¬À¬»øÊÕ¼¯Æ÷ÏԵ÷½±ãµÃ¶à£¬µ«ÒªÇóËùÓÐÓ¦ÓóÌÐò¶¼±ØÐëÈÝÈÌÀ¬»øÊÕ¼¯Æ÷µÄ´æÔÚ£¬²¢ÄÜĬÐíËæÀ¬»øÊÕ¼¯´øÀ´µÄ¶îÍ⿪Ïú¡£µ«Õâ²¢²»·ûºÏC++ÓïÑÔµÄÉè¼Æ×ÚÖ¼£¬ËùÒÔδÄܰüÀ¨µ½C++Àï¡£µ«JavaȷʵÌṩÁËÒ»¸öÀ¬»øÊÕ¼¯Æ÷£¨SmalltalkÒ²ÓÐÕâÑùµÄÉè¼Æ£»¾¡¹ÜDelphiĬÈÏΪûÓÐÀ¬»øÊÕ¼¯Æ÷£¬µ«¿ÉÑ¡Ôñ°²×°£»¶øC++Òà¿ÉʹÓÃһЩÓÉÆäËû¹«Ë¾¿ª·¢µÄÀ¬»øÊÕ¼¯²úÆ·£©¡£
±¾½ÚʣϵIJ¿·Ö½«ÌÖÂÛ*×ݶÔÏóʱҪ¿¼ÂǵÄÁíһЩÒòËØ¡£

1.7.1 ¼¯ºÏÓë¼Ì³ÐÆ÷
Õë¶ÔÒ»¸öÌØ¶¨ÎÊÌâµÄ½â¾ö£¬Èç¹ûÊÂÏȲ»ÖªµÀÐèÒª¶àÉÙ¸ö¶ÔÏ󣬻òÕßËüÃǵijÖÐøÊ±¼äÓж೤£¬ÄÇôҲ²»ÖªµÀÈçºÎ±£´æÄÇЩ¶ÔÏó¡£¼ÈÈ»Èç´Ë£¬ÔõÑù²ÅÄÜÖªµÀÄÇЩ¶ÔÏóÒªÇó¶àÉÙ¿Õ¼äÄØ£¿ÊÂÏÈÉϸù±¾ÎÞ·¨Ìáǰ֪µÀ£¬³ý·Ç½øÈëÔËÐÐÆÚ¡£
ÔÚÃæÏò¶ÔÏóµÄÉè¼ÆÖУ¬´ó¶àÊýÎÊÌâµÄ½â¾ö°ì·¨Ëƺõ¶¼ÓÐЩÇáÂÊ¡ª¡ªÖ»ÊǼòµ¥µØ´´½¨ÁíÒ»ÖÖÀàÐ͵ĶÔÏó¡£ÓÃÓÚ½â¾öÌØ¶¨ÎÊÌâµÄÐÂÐͶÔÏóÈÝÄÉÁËÖ¸ÏòÆäËû¶ÔÏóµÄ¾ä±ú¡£µ±È»£¬Ò²¿ÉÒÔÓÃÊý×éÀ´×öͬÑùµÄÊÂÇ飬ÄÇÊÇ´ó¶àÊýÓïÑÔ¶¼¾ßÓеÄÒ»ÖÖ¹¦ÄÜ¡£µ«²»ÄÜÖ»¿´µ½ÕâÒ»µã¡£ÕâÖÖжÔÏóͨ³£½Ð×÷¡°¼¯ºÏ¡±£¨Òà½Ð×÷Ò»¸ö¡°ÈÝÆ÷¡±£¬µ«AWTÔÚ²»Í¬µÄ³¡ºÏÓ¦ÓÃÁËÕâ¸öÊõÓËùÒÔ±¾Êé½«Ò»Ö±ÑØÓá°¼¯ºÏ¡±µÄ³Æºô¡£ÔÚÐèÒªµÄʱºò£¬¼¯ºÏ»á×Ô¶¯À©³ä×Ô¼º£¬ÒÔ±ãÊÊÓ¦ÎÒÃÇÔÚÆäÖÐÖÃÈëµÄÈκζ«Î÷¡£ËùÒÔÎÒÃÇÊÂÏȲ»±ØÖªµÀÒªÔÚÒ»¸ö¼¯ºÏÀïÈÝ϶àÉÙ¶«Î÷¡£Ö»Ðè´´½¨Ò»¸ö¼¯ºÏ£¬ÒÔºóµÄ¹¤×÷ÈÃËü×Ô¼º¸ºÔðºÃÁË¡£
ÐÒÔ˵ÄÊÇ£¬Éè¼ÆÓÅÁ¼µÄOOPÓïÑÔ¶¼ÅäÌ×ÌṩÁËһϵÁм¯ºÏ¡£ÔÚC++ÖУ¬ËüÃÇÊÇÒÔ¡°±ê׼ģ°å¿â¡±£¨STL£©µÄÐÎʽÌṩµÄ¡£Object PascalÓÃ×Ô¼ºµÄ¡°¿ÉÊÓ×é¼þ¿â¡±£¨VCL£©Ìṩ¼¯ºÏ¡£SmalltalkÌṩÁËÒ»Ì׷dz£ÍêÕûµÄ¼¯ºÏ¡£¶øJavaÒ²ÓÃ×Ô¼ºµÄ±ê×¼¿âÌṩÁ˼¯ºÏ¡£ÔÚijЩ¿âÖУ¬Ò»¸ö³£¹æ¼¯ºÏ±ã¿ÉÂú×ãÈËÃǵĴó¶àÊýÒªÇó£»¶øÔÚÁíһЩ¿âÖУ¨ÌرðÊÇC++µÄ¿â£©£¬ÔòÃæÏò²»Í¬µÄÐèÇóÌṩÁ˲»Í¬ÀàÐ͵ļ¯ºÏ¡£ÀýÈ磬¿ÉÒÔÓÃÒ»¸öʸÁ¿Í³Ò»¶ÔËùÓÐÔªËØµÄ·ÃÎÊ·½Ê½£»Ò»¸öÁ´½ÓÁбíÔòÓÃÓÚ±£Ö¤ËùÓÐÔªËØµÄ²åÈëͳһ¡£ËùÒÔÎÒÃÇÄܸù¾Ý×Ô¼ºµÄÐèҪѡÔñÊʵ±µÄÀàÐÍ¡£ÆäÖаüÀ¨¼¯¡¢¶ÓÁС¢É¢ÁÐ±í¡¢Ê÷¡¢¶ÑÕ»µÈµÈ¡£
ËùÓм¯ºÏ¶¼ÌṩÁËÏàÓ¦µÄ¶Áд¹¦ÄÜ¡£½«Ä³Ñù¶«Î÷ÖÃÈ뼯ºÏʱ£¬²ÉÓõķ½Ê½ÊÇÊ®·ÖÃ÷ÏԵġ£ÓÐÒ»¸ö½Ð×÷¡°ÍÆ¡±£¨Push£©¡¢¡°Ìí¼Ó¡±£¨Add£©»òÆäËûÀàËÆÃû×ֵĺ¯ÊýÓÃÓÚ×öÕâ¼þÊÂÇé¡£µ«½«Êý¾Ý´Ó¼¯ºÏÖÐÈ¡³öµÄʱºò£¬·½Ê½È´²¢²»×ÜÊÇÄÇôÃ÷ÏÔ¡£Èç¹ûÊÇÒ»¸öÊý×éÐÎʽµÄʵÌ壬±ÈÈçÒ»¸öʸÁ¿£¨Vector£©£¬ÄÇôҲÐíÄÜÓÃË÷ÒýÔËËã·û»òº¯Êý¡£µ«ÔÚÐí¶àÇé¿öÏ£¬ÕâÑù×öÍùÍù»áÎÞ¹¦¶ø·µ¡£´ËÍ⣬µ¥Ñ¡¶¨º¯ÊýµÄ¹¦ÄÜÊǷdz£ÓÐÏ޵ġ£Èç¹ûÏë¶Ô¼¯ºÏÖеÄһϵÁÐÔªËØ½øÐÐ*×Ý»ò±È½Ï£¬¶ø²»Êǽö½öÃæÏòÒ»¸ö£¬ÕâʱÓÖ¸ÃÔõô°ìÄØ£¿
°ì·¨¾ÍÊÇʹÓÃÒ»¸ö¡°¼ÌÐøÆ÷¡±£¨Iterator£©£¬ËüÊôÓÚÒ»ÖÖ¶ÔÏ󣬸ºÔðÑ¡Ôñ¼¯ºÏÄÚµÄÔªËØ£¬²¢°ÑËüÃÇÌṩ¸ø¼Ì³ÐÆ÷µÄÓû§¡£×÷Ϊһ¸öÀ࣬ËüÒ²ÌṩÁËÒ»¼¶³éÏó¡£ÀûÓÃÕâÒ»¼¶³éÏ󣬿ɽ«¼¯ºÏϸ½ÚÓëÓÃÓÚ·ÃÎÊÄǸö¼¯ºÏµÄ´úÂë¸ôÀ뿪¡£Í¨¹ý¼Ì³ÐÆ÷µÄ×÷Ó㬼¯ºÏ±»³éÏó³ÉÒ»¸ö¼òµ¥µÄÐòÁС£¼Ì³ÐÆ÷ÔÊÐíÎÒÃDZéÀúÄǸöÐòÁУ¬Í¬Ê±ÎãÐè¹ØÐÄ»ù´¡½á¹¹ÊÇʲô¡ª¡ª»»ÑÔÖ®£¬²»¹ÜËüÊÇÒ»¸öʸÁ¿¡¢Ò»¸öÁ´½ÓÁÐ±í¡¢Ò»¸ö¶ÑÕ»£¬»¹ÊÇÆäËûʲô¶«Î÷¡£ÕâÑùÒ»À´£¬ÎÒÃǾͿÉÒÔÁé»îµØ¸Ä±ä»ù´¡Êý¾Ý£¬²»»á¶Ô³ÌÐòÀïµÄ´úÂëÔì³É¸ÉÈÅ¡£Java×ʼ£¨ÔÚ1.0ºÍ1.1°æÖУ©ÌṩµÄÊÇÒ»¸ö±ê×¼¼Ì³ÐÆ÷£¬ÃûΪEnumeration£¨Ã¶¾Ù£©£¬ÎªËüµÄËùÓм¯ºÏÀàÌṩ·þÎñ¡£Java 1.2ÐÂÔöÒ»¸ö¸ü¸´Ôӵļ¯ºÏ¿â£¬ÆäÖаüº¬ÁËÒ»¸öÃûΪIteratorµÄ¼Ì³ÐÆ÷£¬¿ÉÒÔ×ö±ÈÀÏʽµÄEnumeration¸ü¶àµÄÊÂÇé¡£
´ÓÉè¼Æ½Ç¶È³ö·¢£¬ÎÒÃÇÐèÒªµÄÊÇÒ»¸öÈ«¹¦ÄܵÄÐòÁС£Í¨¹ý¶ÔËüµÄ*×Ý£¬Ó¦¸ÃÄܽâ¾ö×Ô¼ºµÄÎÊÌâ¡£Èç¹ûÒ»ÖÖÀàÐ͵ÄÐòÁм´¿ÉÂú×ãÎÒÃǵÄËùÓÐÒªÇó£¬ÄÇôÍêȫûÓбØÒªÔÙ»»Óò»Í¬µÄÀàÐÍ¡£ÓÐÁ½·½ÃæµÄÔ­Òò´ÙʹÎÒÃÇÐèÒª¶Ô¼¯ºÏ×÷³öÑ¡Ôñ¡£Ê×ÏÈ£¬¼¯ºÏÌṩÁ˲»Í¬µÄ½Ó¿ÚÀàÐÍÒÔ¼°ÍⲿÐÐΪ¡£¶ÑÕ»µÄ½Ó¿ÚÓëÐÐΪÓë¶ÓÁеIJ»Í¬£¬¶ø¶ÓÁеĽӿÚÓëÐÐΪÓÖÓëÒ»¸ö¼¯£¨Set£©»òÁбíµÄ²»Í¬¡£ÀûÓÃÕâ¸öÌØÕ÷£¬ÎÒÃǽâ¾öÎÊÌâʱ±ãÓиü´óµÄÁé»îÐÔ¡£

TOP

żÀ´¶¥Ò»Ï£¡

TOP

ÕýÔÚѧϰÖС­¡­

TOP

ºÃ°¡£¬ÎÒÖ§³Ö£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡
lul

TOP

Ìáʾ: ×÷Õß±»½ûÖ¹»òɾ³ý ÄÚÈÝ×Ô¶¯ÆÁ±Î

TOP

ѧ»áÁËJAVA ¿ÉÒԺܼòµ¥µÄʤÈÎһЩ¶«Î÷!µ±È»Ç°ÌáÊÇÒª»¨¹¤·òµÄ!
ºÃºÃµÄºÍËû¹ýÈÕ×Ó^_^ ÎÂů£¬Ì¤Êµ£¬ÐÒ¸£

TOP