Èí¼þ¹¤³Ì˼Ïë-µÚ27ÕÂ
°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
char¡¡strGroupName£§16£§£»//¡¡16¸ö×ֽڵŤ×÷×éÃû×Ö
¡¡¡¡char¡¡strDataName£§16£§£»¡¡//¡¡16¸ö×Ö½ÚµÄÊý¾ÝÃû×Ö
£ý£»
£¨2£©·þÎñÆ÷½ÓÊÕµ½²éѯʱ£¬°´ÕÕ¡¡DataQuery½á¹¹ÖеÄstrGroupNameºÍstrDataName½øÐÐËÑË÷¡£Èç¹û¸ÃÊý¾Ý²»´æÔÚ£¬ServerÏòClient·¢ËÍÒ»¸öFALSE±êÖ¾¡£Èç¹û¸ÃÊý¾Ý´æÔÚ£¬·þÎñÆ÷ÏÈÏò¿Í»§»ú·¢ËÍÒ»¸öTRUE±êÖ¾£¬Ö®ºóÁ¢¼´ÔÙÏò¿Í»§»ú·¢Ë͸ÃÊý¾Ý£¨DataPublish¸ñʽ£©¡£¡¡
¡¡¡¡Èç¹û¿Í»§»úµÃµ½TRUE±êÖ¾µÄ²éѯ½á¹û£¬¾Íµ÷Óú¯ÊýSubscribeDataÀ´½ÓÊÕ·þÎñÆ÷·¢Ë͹ýÀ´µÄÊý¾Ý¡£
Èý¡¢¿Í»§³ÌÐòµÄ¡°×é²¥¡±ÐÒé
¿Í»§»úÏȵ÷Óú¯ÊýQueryGroupIPÏò·þÎñÆ÷·¢ËÍÒ»¸öGroupAddress¸ñʽµÄ±¨ÎÄ£¬ÓÃÓÚ²éѯ×é²¥µØÖ·¡£·þÎñÆ÷·µ»ØÏàÓ¦µÄÊ®½øÖƵã·ÖʽµÄIPµØÖ·¡£
struct¡¡GroupAddress
¡¡¡¡£û
¡¡¡¡BYTEiDataType£»//¡¡2¡¡¸ö×Ö½ÚÊý¾ÝÀàÐÍ£¬ºê¶¨ÒåΪGROUP_ADDRESS
char¡¡strGroupName£§16£§£»//¡¡16¸ö×ֽڵŤ×÷×éÃû×Ö
£ý£»
¡¡¡¡¿Í»§»úµ÷Óú¯ÊýMulticastMessageÏòÖ¸¶¨µÄ×飨¸ù¾Ý×é²¥µØÖ·£©²¥·ÅÏûÏ¢¡£×é²¥µÄÊý¾Ý±¨½á¹¹¡¡DataMulticast¶¨ÒåÈçÏ£º
¡¡¡¡struct¡¡DataMulticast
¡¡¡¡£û
DWORDdwContentType£»//¡¡×é²¥µÄÊý¾Ý±¨ÀàÐÍ£¬ÓÉÓû§¶¨Òå
char*pchContent£»//¡¡×é²¥µÄÊý¾Ý±¨ÄÚÈÝ£¬ÓÉÓû§¶¨Òå
¡¡¡¡£ý£»
¡¡¡¡Èç¹û¿Í»§»ú½ÓÊÕµ½×é²¥µÄÏûÏ¢£¬½«×Ô¶¯µ÷Óú¯ÊýMessageResponseÀ´ÏìÓ¦¸ÃÏûÏ¢¡£MessageResponseÊÇÐ麯Êý£¬Ëü½«¸ù¾ÝdwContentTypeÐÅÏ¢¾ö¶¨ÈçºÎ´¦Àíµ½À´µÄ×é²¥ÏûÏ¢£¬¾ßÌ幦ÄÜÓÉÓû§¶¨Òå¡£
5¡£5¡£3¡£2¡¡¡¡CNC¡¡·þÎñÆ÷µÄÉè¼Æ
Ò»¡¢Êý¾Ý½á¹¹
CNC¡¡·þÎñÆ÷µÄÊý¾Ý½á¹¹Ö÷ÒªÓÉÈý²¿·Ö×é³É£º
£¨1£©Ò»ÕÅÓÃÓÚ¹ÜÀí×é²¥µØÖ·µÄÁ´±í¡£×é²¥µØÖ·ÓÉ·þÎñÆ÷¶¯Ì¬Éú³É£¬¿Í»§»ú¿ÉÒÔÏò·þÎñÆ÷²éѯÈÎÒâ×éµÄ×é²¥µØÖ·¡£
£¨2£©Ò»ÕÅÓÃÓÚ¹ÜÀíÏß³ÌÖ¸ÕëµÄÁ´±í¡£·þÎñÆ÷²ÉÓöàÏ̲߳¢·¢´¦Àí¼¼Êõ£¬Ê¹¿Í»§»ú»ñµÃ×î¿ìµÄÏìÓ¦¡£
£¨3£©Ã¿¸ö×鶼ÓÐÒ»ÕÅÓÃÓÚ¹ÜÀí¡°·¢²¼¡ª¶©ÔÄ¡±µÄÊý¾ÝµÄHash±í¡£ÓÉÓÚͬһʱ¿Ì£¬ÏµÍ³¿ÉÄÜ´æÔÚ¶à¸öÉú²úÕßÓëÏû·ÑÕߣ¬Êý¾ÝµÄ´æÈ롢ȡ³öËٶȳÉΪ·þÎñÆ÷ÐÔÄܵÄÖØÒªÖ¸±ê¡£Hash±í¿ÉÒÔÌṩ±ÈÁ´±í¸ü¿ìµÄÊý¾Ý¼ìË÷Ëٶȡ£Hash±íÖеÄÊý¾ÝÏî½á¹¹¼ûDataElement¡¡£º
struct¡¡DataElement
¡¡¡¡£û
charstrGroupName£§16£§£»//¡¡¹¤×÷×éµÄÃû³Æ
charstrDataName£§16£§£»//¡¡Êý¾ÝµÄÃû³Æ
BYTEiStorageType£»//¡¡´æ´¢ÀàÐÍ£º¡¡STORAGE_FILE¡¡»ò¡¡STORAGE_MEMORY
ColeDateTimeTimeToDie£»//¡¡×÷·Ïʱ¿Ì
BOOLbLock£»//¡¡Ëø¶¨±êÖ¾£º¡¡TRUE¡¡»ò¡¡FALSE
DWORDdwLength£»//¡¡Êý¾ÝµÄ³¤¶È
char*pchContent£»//¡¡Êý¾ÝÄÚÈÝ
¡¡¡¡£ý£»
´æ´¢ÀàÐÍ£¨iStorageType£©µÄÓÃ;£º°ÑÊý¾ÝÈ«²¿±£´æÔÚÄÚ´æÖн«·Ç³£ÏûºÄ·þÎñÆ÷µÄÄÚ´æ×ÊÔ´£¬ÔںܶàÇé¿öÏÂÊÇûÓбØÒªµÄ¡£ÎªÁËÌá¸ßÄÚ´æµÄʹÓÃЧÂÊ£¬·þÎñÆ÷½ö°ÑÉúÃüÆڽ϶̻òÕß³¤¶È½Ï¶ÌµÄÊý¾Ý±£´æÔÚÄÚ´æÖУ¨¼´ÎªSTORAGE_MEMORYÀàÐÍ£©£¬¶ø°ÑÉúÃüÆڽϳ¤»òÕß³¤¶È½Ï³¤µÄÊý¾Ý±£´æÔÚÎļþÖУ¨¼´ÎªSTORAGE_FILEÀàÐÍ£©¡£
×÷·Ïʱ¿Ì£¨TimeToDie£©µÄÓÃ;£º¿Í»§»ú·¢²¼µÄÊý¾Ý¾ùÖ¸¶¨ÁËÉúÃüÆÚ£¬·þÎñÆ÷ÔÚ½ÓÊÕµ½Êý¾Ýʱ¼´¿É¼ÆËã³ö×÷·Ïʱ¿Ì¡£·þÎñÆ÷½«¶¨ÆÚɨÃèHash±í£¬Èô·¢ÏÖÓÐÊý¾Ý³¬³ö×÷·Ïʱ¿Ì£¨²¢ÇÒûÓб»Ëø¶¨£©£¬¼´¿Éɾ³ý´ËÊý¾Ý¡£
Ëø¶¨±êÖ¾£¨bLock£©µÄÓÃ;£ººÜ¶à¿Í»§»ú¿ÉÄÜͬʱ¶©ÔÄij¸öÊý¾Ý£¬¶ø¸ÃÊý¾Ý¿ÉÄÜÒѳ¬³ö×÷·Ïʱ¿Ì¼´½«±»É¾³ý¡£Îª±ÜÃâ³åÍ»£¬¹æ¶¨Ö»ÒªÓпͻ§»ú¶©ÔÄÊý¾Ý£¬¾ÍÓÃiLock±êÖ¾À´Ëø¶¨´ËÊý¾Ý£¬Ö±µ½¶©ÔÄÍê³Éºó²ÅÏû³ýËø¶¨¡£
¶þ¡¢¶àÏ̲߳¢·¢¼¼Êõ
·þÎñÆ÷ÓÐÒ»¸öÖ÷Ï̺߳Ͷà¸ö×ÓÏ̡߳£Ö÷Ï̸߳ºÔð¿Í»§»úµÄÈëÁ¬½ÓÇëÇó£¬È»ºó´´½¨Ò»¸ö×ÓÏß³ÌÀ´´¦ÀíÕâ¸öTCPÁ¬½Ó¡£Ã¿¸ö×ÓḬ̈߳´ÕÕCNC¡¡APIµÄÐÒéÓë¿Í»§»úͨѶ¡£ÓÉÓÚÓжà¸ö×ÓÏ̹߳²Ïí·þÎñÆ÷ÖеÄÊý¾Ý£¬¶àÏ̶߳Թ²Ïí×ÊÔ´µÄͬ²½·ÃÎʳÉΪʵÏÖµÄÄѵ㡣CNC¡¡Ö÷Òª²ÉÓÃÁ˹ؼüÇø¡¢»¥³â¶ÔÏóµÈͬ²½Êֶνâ¾öÕâ¸öÎÊÌâ¡£
Èý¡¢WinsockµÄʹÓÃ
CNC¡¡1¡£0ÔËÐÐÓÚWindows¡¡9x/NTϵͳÏ£¬µ×²ãµÄÍøÂçͨѶ³ÌÐòÓÃWinsock±àд¡£WinsockÓÐÁ½ÖÖ¹¤×÷·½Ê½£º×èÈû·½Ê½ºÍ·Ç×èÈû·½Ê½¡£×èÈû·½Ê½µÄÓŵãÊDZà³Ì¼òµ¥£¬¿É¿¿ÐԺá£È±µãÊÇÈÝÒ×ʹӦÓóÌÐò×èÈûס£¬²»ÄÜ´¦ÀíÆäËüÊÂÎñ¡£·Ç×èÈû·½Ê½ÊÇÀûÓÃWindows¡¡ÏûÏ¢»úÖÆʵÏֵġ£ÓŵãÊÇÔÚÊý¾Ýµ½À´µÄʱºò£¬ÏµÍ³ÏòÓ¦ÓóÌÐò´°¿Ú·¢ËÍÏûÏ¢£¬Ê¹µÃÓ¦ÓóÌÐò²»±Ø×ÜÔڵȴýÊý¾Ý£¬Ìá¸ßÁ˹¤×÷ЧÂÊ¡£È±µãÊÇÔÚ·¢ËͺͽÓÊÕÊý¾Ýʱ£¬Ó¦ÓóÌÐò²¢²»½«ÊÂÇé×öÍ꣨²»×èÈû£©£¬ÒÔÖÁÓÚÓ¦ÓóÌÐòҪά»¤¸´ÔÓµÄ״̬»ú¡£
¼øÓÚ×èÈû·½Ê½ºÍ·Ç×èÈû·½Ê½¸÷ÓÐÓÅȱµã£¬CNC¡¡·þÎñÆ÷²ÉÓÃÁË»ìºÏ·½Ê½¡£Ö÷Ï̲߳ÉÓ÷Ç×èÈûµÄÏûÏ¢Çý¶¯·½Ê½£¬¿ÉÒÔ¿ìËÙÏìÓ¦¿Í»§»úµÄÈëÁ¬½Ó¡£ÔÚ×ÓÏß³ÌÖУ¬ÈÔ²ÉÓ÷Ç×èÈûµÄÏûÏ¢Çý¶¯·½Ê½½ÓÊÜ¿Í»§»úµÄÇëÇó£¬Ö»ÓÐÔÚÏìÓ¦ÇëÇóʱ£¬²ÉÓÃ×èÈûµÄ·½Ê½Ò»´ÎÐÔµØÍê³ÉÊý¾ÝµÄ·¢ËÍ»ò½ÓÊÕ¡£
5¡£5¡£4¡¡Ó¦ÓÃʾÀý
ͼ5¡£17¡¢Í¼5¡£18ÊDzμÓÐͬ¹¤×÷µÄÁ½¸ö¿Í»§³ÌÐòʾÀý£¬ÕâÁ½¸ö³ÌÐò¾ùÓÃIntra3D¡¡2¡£0¡¡ºÍCNC¡¡1¡£0¿ª·¢¡£Í¼5¡£17µÄ¿Í»§³ÌÐòÏòCNC¡¡·þÎñÆ÷¶©ÔÄ¡¡¡£3dsºÍ¡¡¡£obj¸ñʽµÄ¶à±ßÐÎÄ£ÐÍÊý¾Ý²¢Ö´Ðн»»¥Ê½»æÖÆ¡£Í¼5¡£18µÄ¿Í»§³ÌÐòÏòCNC¡¡·þÎñÆ÷¶©ÔÄÉÌҵͳ¼ÆͼÐÎÊý¾Ý²¢Ö´Ðн»»¥Ê½»æÖÆ¡£ÁíÓÐÒ»¸ö¿Í»§»ú£¨Êý¾ÝÔ´£©ÏòCNC¡¡·þÎñÆ÷·¢²¼¸÷ÖÖÊý¾Ý£¬²¢ÓÃ×é²¥À´Í¨Öª¸÷¸ö¿Í»§»úµ±Ç°·¢²¼ÁËʲôÊý¾Ý£¨¶ÌÏûÏ¢£©¡£
¡¡¡¡Intra3D¡¡2¡£0ºÍCNC¡¡1¡£0Ä¿Ç°ÒѾ¿ÉÒÔʵÓã¬ÇëÓë×÷ÕßÁªÏµ£¬Ãâ·ÑË÷È¡Èí¼þ¡£
5¡£6¡¡¡¡Ð¡¡¡½á
ÈÃÎÒÃÇÓÃÖøÃû3DÓÎÏ·Èí¼þQuakeµÄÉè¼ÆʦMichael¡¡Abrash¡¡µÄ»°×ܽ᱾Õ£º¡°ËùÓÐÕæÕý½Ü³öµÄÉè¼ÆÒ»µ©±»Éè¼ÆºÃ£¬¿´ÆðÀ´¶¼ÊÇÄÇôµÄ¼òµ¥ºÍÏÔ¶øÒ×¼û¡£µ«ÊÇÔÚ»ñµÃ½Ü³öÉè¼ÆµÄ¹ý³ÌÖУ¬ÐèÒª¸¶³öÁîÈËÄÑÒÔÖÃÐŵÄŬÁ¦¡£¡±£§Abrash¡¡1998£§
ͼ5¡£17¡¡¡¡»æÖÆ¡£3dsºÍ¡£objÄ£Ð͵Ŀͻ§³ÌÐò
ͼ5¡£18¡¡¡¡»æÖÆÉÌҵͳ¼ÆͼÐεĿͻ§³ÌÐò
µÚÁùÕ¡¡¡¡C£«£«ÃæÏò¶ÔÏó³ÌÐòÉè¼Æ
¡¡¡¡ÁùÄêÇ°£¬ÎÒ¸ÕÈÈÁµ¡°ÃæÏò¶ÔÏó¡±£¨Object¡Oriented£©Ê±£¬Ò»¿ÚÆø¼ÇסÁ˽üÊ®¸ö¶¨Òå¡£ÁùÄêºó£¬ÎÒ´Ó¼¸Ê®ÍòÐгÌÐòÖйöÅÀ³öÀ´×¼±¸Ð´µãÐĵÃÌå»áʱ£¬È´ÎÞ·¨½âÊÍʲôÊÇ¡°ÃæÏò¶ÔÏó¡±£¬¾ÍÏó˵²»Çå³þʲôÊÇÊýѧÄÇÑù¡£
¡¡¡¡Èí¼þ¹¤³ÌÖеÄʱ÷ÖÊõÓï¡°ÃæÏò¶ÔÏó·ÖÎö¡±ºÍ¡°ÃæÏò¶ÔÏóÉè¼Æ¡±£¬Í¨³£ÊÇÕë¶Ô¡°ÐèÇó·ÖÎö¡±ºÍ¡°ÏµÍ³Éè¼Æ¡±»·½ÚµÄ¡£¡°ÃæÏò¶ÔÏó¡±Óм¸´óѧÅÉ£¬¾ÍÏóÈçÀ´·ð¡¢ÉϵۺÍÕæÖ÷Óø÷×Եķ½Ê½¶¨ÒåÁËÕâ¸öÊÀ½ç£¬²¢ÁôÏÂÒ»¶Ñ¾ÊéÀ´½âÊÍÕâ¸öÊÀ½ç¡£
¡¡¡¡ÓÐЩѧÕß½¨ÒéÕâÑùÕÒ¡°¶ÔÏó¡±£º·ÖÎöÒ»¸ö¾ä×ÓµÄÓï·¨£¬ÕÒ³öÃû´ÊºÍ¶¯´Ê£¬Ãû´Ê¾ÍÊǶÔÏ󣬶¯´ÊÔòÊǶÔÏóµÄ·½·¨£¨¼´º¯Êý£©¡£
¡¡¡¡µ±Äê¹úÃñµ³µÄÎÄÈËΪÁ˶Կ¹Ã«Ô󶫵ġ¶ÇßÔ°´º¡¤Ñ©¡·£¬ÌØÒâÇëÇ峯ÒÅÀÏÃÇдÁËһЩ¶ÔÕ̹¤ÕûµÄÊ«£¬Ç뽯½éʯ¹ýÄ¿¡£ÀϽ¯¿´ÁËÆøµÃ´óÂ¡°Äïϣƥ£¬È«¶¼ÓÐÒ»¹É¹×²ÄÀ︯ʬµÄÆøζ¡£¡±
¡¡¡¡ÎÒ¿´Á˼¸Ç§Ò³µÄÈí¼þ¹¤³Ì×ÊÁÏ£¬ÖÕÓÚ·¢ÏÖ×Ô¼ºÓÐЩ¡°ÈõÖÇ¡±£¬ÎÞ·¨Àí½â¡°ÃæÏò¶ÔÏó¡±µÄÀíÂÛ£¬Í¬Ê±ÐÑÎòµ½¡°±à³ÌÊÇÓ²µÀÀí¡£¡±
¡¡¡¡ÃæÏò¶ÔÏó³ÌÐòÉè¼ÆÓïÑԺܶ࣬ÈçSmalltalk¡¢Ada¡¢Eiffel¡¢Object¡¡Pascal¡¢Visual¡¡Basic¡¢C£«£«µÈµÈ¡£C£«£«ÓïÑÔ×îÌÖÈËϲ»¶£¬ÒòΪËü¼æÈÝCÓïÑÔ£¬²¢ÇҾ߱¸CÓïÑÔµÄÐÔÄÜ¡£½ü¼¸Ä꣬һÖÖ½ÐJavaµÄ´¿ÃæÏò¶ÔÏóÓïÑԺ켫һʱ£¬²»ÉÙÈ˽к°×ÅÒªÓÃJava¸ïC£«£«µÄÃü¡£ÎÒÈÏΪJavaºÃ±ÈÊÇC£«£«µÄÍâÉû£¬ËäÈ»²»ÊÇÖ±½ÓÒÅ´«µÄ£¬µ«Ò²¼¸·ÖÏóÑù¡£ÍâÉûÔھ˾ËÉíÉÏÍæˣʱÈ÷ÁËÒ»ÅÝÄò£¬Á©È˲»¸ÃΪ´Ë¶øÕù³³¡£
¡¡¡¡¹ØÓÚC£«£«³ÌÐòÉè¼ÆµÄÊé½å·Ç³£¶à£¬±¾Õ²»½²C£«£«µÄÓï·¨£¬Ö»½²Ò»Ð©Ð¡Ð¡µÄ±à³ÌµÀÀí¡£Èç¹ûÎÒÄÜÔ缸ÄêÃ÷°×ÕâЩСµÀÀí£¬¾Í¿ÉÒÔ´ó´ó¸ÄÉÆÊýÊ®ÍòÐгÌÐòµÄÖÊÁ¿ÁË¡£
6¡£1¡¡¡¡C£«£«ÃæÏò¶ÔÏó³ÌÐòÉè¼ÆµÄÖØÒª¸ÅÄî
¡¡¡¡ÔçÆÚ¸ïÃüӰƬÀïÓÐÕâÑùÒ»¸ö½ÇÉ«£¬Ëû˵£º¡°ÎÒÊǵ³´ú±í£¬ÎÒ´ú±íµ³£¬ÎÒ¾ÍÊǵ³¡£¡±ºóÀ´Ëû¸øͬ־ÃÇ´øÀ´ÁËÔÖÄÑ¡£
¡¡¡¡»áÓÃC£«£«µÄ³ÌÐòÔ±Ò»¶¨¶®µÃÃæÏò¶ÔÏó³ÌÐòÉè¼ÆÂð£¿
¡¡¡¡²»»áÓÃC£«£«µÄ³ÌÐòÔ±Ò»¶¨²»¶®µÃÃæÏò¶ÔÏó³ÌÐòÉè¼ÆÂð£¿
¡¡¡¡Á½Õ߶¼Î´±Ø¡£¾ÍÏó»µµ°Èëµ³ºóδ±ØÄܳÉΪºÃÈË£¬ºÃÈ˲»È뵳δ±Ø±ä³É»µµ°ÄÇÑù¡£
¡¡¡¡ÎÒ²»Å´¥·¸ÖÚŵØ˵¾ä´ó»°£º¡°C£«£«Ã»ÓиßÊÖ£¬CÓïÑÔ²ÅÓиßÊÖ¡£¡±ÔÚÓÃCºÍC£«£«±à³Ì8ÄêÖ®ºó£¬ÎÒÉîÉîµØÒź¶×Ô¼º²»ÊÇCÓïÑԵĸßÊÖ£¬¸üÒź¶Ã»ÓÐÈ˵㲦ÎÒÈçºÎ½øÐÐÃæÏò¶ÔÏó³ÌÐòÉè¼Æ¡£ÎҺͺܶàC£«£«³ÌÐòÔ±Ò»Ñù£¬ÔÚÏíÓõ½C£«£«Óï·¨µÄºÃ´¦Ê±±ãÒÔΪ×Ô¼ºÒѾÃ÷°×ÁËÃæÏò¶ÔÏó³ÌÐòÉè¼Æ¡£¾ÍÏó¼·µôÑÀ¸àÂôÑÀ¸àƤÄÇÑù£¬ÕæÊDZ©éåÌìÎïѽ¡£
¡¡¡¡ÈËÃDz»¶®Æ´ÒôÒ²»á½²ÆÕͨ»°£¬Èç¹û¶®µÃÆ´ÒôÔò»á°ÑÆÕͨ»°½²µÃ¸üºÃ¡£²»¶®ÃæÏò¶ÔÏó³ÌÐòÉè¼ÆÒ²¿ÉÒÔÓÃC£«£«±à³Ì£¬Èç¹û¶®µÃÃæÏò¶ÔÏó³ÌÐòÉè¼ÆÔò»á°ÑC£«£«³ÌÐò±àµÃ¸üºÃ¡£±¾½Ú½²ÊöÈý¸ö·Ç³£»ù´¡µÄ¸ÅÄ¡°ÀàÓë¶ÔÏ󡱡¢¡°¼Ì³ÐÓë×éºÏ¡±¡¢¡°Ð麯ÊýÓë¶à̬¡±¡£Àí½âÕâЩ¸ÅÄÓÐÖúÓÚÌá¸ß³ÌÐòµÄÖÊÁ¿£¬ÌرðÊÇÌá¸ß¡°¿É¸´ÓÃÐÔ¡±Óë¡°¿ÉÀ©³äÐÔ¡±¡£
6¡£1¡£1¡¡ÀàÓë¶ÔÏó
¡¡¡¡¶ÔÏó£¨Object£©ÊÇÀࣨClass£©µÄÒ»¸öʵÀý£¨Instance£©¡£Èç¹û½«¶ÔÏó±È×÷·¿×Ó£¬ÄÇôÀà¾ÍÊÇ·¿×ÓµÄÉè¼Æͼֽ¡£ËùÒÔÃæÏò¶ÔÏó³ÌÐòÉè¼ÆµÄÖصãÊÇÀàµÄÉè¼Æ£¬¶ø²»ÊǶÔÏóµÄÉè¼Æ¡£
¡¡¡¡Àà¿ÉÒÔ½«Êý¾ÝºÍº¯Êý·â×°ÔÚÒ»Æð£¬ÆäÖк¯Êý±íʾÁËÀàµÄÐÐΪ£¨»ò³Æ·þÎñ£©¡£ÀàÌṩ¹Ø¼ü×Öpublic¡¢protectedºÍprivateÓÃÓÚÉùÃ÷ÄÄЩÊý¾ÝºÍº¯ÊýÊǹ«Óеġ¢Êܱ£»¤µÄ»òÕßÊÇ˽Óеġ£ÕâÑù¿ÉÒÔ´ïµ½ÐÅÏ¢Òþ²ØµÄÄ¿µÄ£¬¼´ÈÃÀà½ö½ö¹«¿ª±ØÐëÒªÈÃÍâ½çÖªµÀµÄÄÚÈÝ£¬¶øÒþ²ØÆäËüÒ»ÇÐÄÚÈÝ£¨²Î¼û5¡£2¡£1½Ú¡°ÐÅÏ¢Òþ²Ø¡±£©¡£ÎÒÃDz»¿ÉÒÔÀÄÓÃÀàµÄ·â×°¹¦ÄÜ£¬²»Òª°ÑËüµ±³É»ð¹ø£¬Ê²Ã´¶«Î÷¶¼ÍùÀïÈÓ¡£
¡¡¡¡ÀàµÄÉè¼ÆÊÇÒÔÊý¾ÝΪÖÐÐÄ£¬»¹ÊÇÒÔÐÐΪΪÖÐÐÄ£¿
¡¡¡¡Ö÷ÕÅ¡°ÒÔÊý¾ÝΪÖÐÐÄ¡±µÄÄÇÒ»ÅÉÈ˹Ø×¢ÀàµÄÄÚ²¿Êý¾Ý½á¹¹£¬ËûÃÇÏ°¹ßÉϽ«privateÀàÐ͵ÄÊý¾ÝдÔÚÇ°Ã棬¶ø½«publicÀàÐ͵ĺ¯ÊýдÔÚºóÃ棬Èç±í8¡£1£¨a£©Ëùʾ¡£
¡¡¡¡Ö÷ÕÅ¡°ÒÔÐÐΪΪÖÐÐÄ¡±µÄÄÇÒ»ÅÉÈ˹Ø×¢ÀàÓ¦¸ÃÌṩʲôÑùµÄ·þÎñºÍ½Ó¿Ú£¬ËûÃÇÏ°¹ßÉϽ«publicÀàÐ͵ĺ¯ÊýдÔÚÇ°Ã棬¶ø½«privateÀàÐ͵ÄÊý¾ÝдÔÚºóÃ棬Èç±í8¡£1£¨b£©Ëùʾ¡£
Class¡¡A
£û
¡¡¡¡private£º
¡¡¡¡int¡¡¡¡¡¡¡¡i£»¡¡j£»
¡¡¡¡float¡¡¡¡x£»¡¡y£»
¡¡¡¡¡¡¡¡¡
¡¡¡¡public£º
¡¡¡¡void¡¡Func1£¨void£©£»
¡¡¡¡void¡¡Func2£¨void£©£»
¡¡¡¡¡
£ý
class¡¡A
£û
¡¡¡¡public£º
¡¡¡¡void¡¡Func1£¨void£©£»
¡¡¡¡void¡¡Func2£¨void£©£»
¡¡¡¡¡
¡¡¡¡private£º
¡¡¡¡int¡¡¡¡¡¡¡¡i£»¡¡j£»
¡¡¡¡float¡¡¡¡x£»¡¡y£»
¡¡¡¡¡¡¡¡¡
£ý
±í8¡£1£¨a£©¡¡ÒÔÊý¾ÝΪÖÐÐĵÄÊéд·ç¸ñ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡±í8¡£1£¨b£©ÒÔÐÐΪΪÖÐÐĵÄÊéд·ç¸ñ
¡¡¡¡ºÜ¶àC£«£«½Ì¿ÎÊéÖ÷ÕÅÔÚÉè¼ÆÀàʱ¡°ÒÔÊý¾ÝΪÖÐÐÄ¡±¡£ÎÒ¼á³Ö²¢ÇÒ½¨Òé¶ÁÕßÔÚÉè¼ÆÀàʱ¡°ÒÔÐÐΪΪÖÐÐÄ¡±£¬¼´Ê×ÏÈ¿¼ÂÇÀàÓ¦¸ÃÌṩʲôÑùµÄº¯Êý¡£Microsoft¡¡¹«Ë¾µÄ¹æ·¶µÄºËÐÄÊǽӿÚÉè¼Æ£¬µÄ½Ó¿Ú¾ÍÏ൱ÓÚÀàµÄ¹«Óк¯Êý£§Rogerson¡¡1999£§¡£ÔÚ³ÌÐòÉè¼Æ·½Ã棬ÔÛÃDz»Òª»³ÒÉMicrosoft¹«Ë¾µÄ·ç¸ñ¡£
¡¡¡¡Éè¼Æ¹ÂÁ¢µÄÀàÊDZȽÏÈÝÒ׵ģ¬ÄѵÄÊÇÕýÈ·Éè¼Æ»ùÀ༰ÆäÅÉÉúÀà¡£ÒòΪÓÐЩ³ÌÐòÔ±¸ã²»Çå³þ¡°¼Ì³Ð¡±£¨Inheritance£©¡¢¡°×éºÏ¡±£¨position£©¡¢¡°¶à̬¡±£¨¡¡Polymorphism£©ÕâЩ¸ÅÄî¡£
6¡£1¡£2¡¡¼Ì³ÐÓë×éºÏ
¡¡¡¡Èç¹ûAÊÇ»ùÀ࣬BÊÇAµÄÅÉÉúÀ࣬ÄÇôB½«¼Ì³ÐAµÄÊý¾ÝºÍº¯Êý¡£Ê¾Àý³ÌÐòÈçÏ£º
class¡¡A
¡¡¡¡£û
¡¡¡¡public£º
void¡¡¡¡Func1£¨void£©£»
void¡¡¡¡Func2£¨void£©£»
£ý£»
¡¡¡¡class¡¡B¡¡£º¡¡public¡¡A
¡¡¡¡£û
¡¡¡¡public£º
void¡¡¡¡Func3£¨void£©£»
void¡¡¡¡Func4£¨void£©£»
£ý£»
//¡¡Example
main£¨£©
¡¡¡¡£û
B¡¡¡¡b£»//¡¡BµÄÒ»¸ö¶ÔÏó
b¡£Func1£¨£©£»//¡¡B´ÓA¼Ì³ÐÁ˺¯ÊýFunc1
b¡£Func2£¨£©£»//¡¡B´ÓA¼Ì³ÐÁ˺¯ÊýFunc2
b¡£Func3£¨£©£»
b¡£Func4£¨£©£»
¡¡¡¡£ý
¡¡¡¡Õâ¸ö¼òµ¥µÄʾÀý³ÌÐò˵Ã÷ÁËÒ»¸öÊÂʵ£ºC£«£«µÄ¡°¼Ì³Ð¡±ÌØÐÔ¿ÉÒÔÌá¸ß³ÌÐòµÄ¿É¸´ÓÃÐÔ¡£ÕýÒòΪ¡°¼Ì³Ð¡±Ì«ÓÐÓá¢Ì«ÈÝÒ×Ó㬲ÅÒª·ÀÖ¹ÂÒÓ᰼̳С±¡£ÎÒÃÇÒª¸ø¡°¼Ì³Ð¡±Á¢Ò»Ð©Ê¹ÓùæÔò£º
¡¡¡¡Ò»¡¢Èç¹ûÀàAºÍÀàBºÁ²»Ïà¹Ø£¬²»¿ÉÒÔΪÁËʹBµÄ¹¦Äܸü¶àЩ¶øÈÃB¼Ì³ÐAµÄ¹¦ÄÜ¡£²»Òª¾õµÃ¡°°×³Ô°×²»³Ô¡±£¬ÈÃÒ»¸öºÃ¶Ë¶ËµÄ½¡×³ÇàÄêÎÞÔµÎ޹ʵسÔÈ˲β¹ÉíÌå¡£
¡¡¡¡¶þ¡¢Èç¹ûÀàBÓбØҪʹÓÃAµÄ¹¦ÄÜ£¬ÔòÒª·ÖÁ½ÖÖÇé¿ö¿¼ÂÇ£º
£¨1£©ÈôÔÚÂß¼ÉÏBÊÇAµÄ¡°Ò»ÖÖ¡±£¨a¡¡kind¡¡of¡¡£©£¬ÔòÔÊÐíB¼Ì³ÐAµÄ¹¦ÄÜ¡£ÈçÄÐÈË£¨Man£©ÊÇÈË£¨Human£©µÄÒ»ÖÖ£¬Äк¢£¨Boy£©ÊÇÄÐÈ˵ÄÒ»ÖÖ¡£ÄÇôÀàMan¿ÉÒÔ´ÓÀàHumanÅÉÉú£¬ÀàBoy¿ÉÒÔ´ÓÀàManÅÉÉú¡£Ê¾Àý³ÌÐòÈçÏ£º
class¡¡Human
¡¡¡¡£û
¡
¡¡¡¡£ý£»
class¡¡Man¡¡£º¡¡public¡¡Human
¡¡¡¡£û
¡
¡¡¡¡£ý£»
class¡¡Boy¡¡£º¡¡public¡¡Man
¡¡¡¡£û
¡
¡¡¡¡£ý£»
£¨2£©ÈôÔÚÂß¼ÉÏAÊÇBµÄ¡°Ò»²¿·Ö¡