Java µÄºËÐÄÊÇÃæÏò¶ÔÏó±à³Ì¡£ÊÂʵÉÏ£¬ËùÓеÄJava ³ÌÐò¶¼ÊÇÃæÏò¶ÔÏóµÄ£¬Äã±ðÎÞÑ¡Ôñ¡£ÕâÒ»µãÓëC++ ²»Í¬£¬ÒòΪÔÚÄÇÀïÄã¿ÉÒÔÑ¡ÔñÊÇ·ñÃæÏò¶ÔÏó±à³Ì¡£ÃæÏò¶ÔÏó±à³ÌÓëJava Ãܲ»¿É·Ö£¬Òò´Ë£¬ÔÚÄã±àдÄÄÅÂÊÇ×î¼òµ¥µÄJava ³ÌÐòÒÔÇ°£¬Ò²±ØÐëÀí½âËüµÄ»ù±¾ÔÔò¡£Òò´Ë£¬±¾ÕÂÏÈ´ÓÃæÏò¶ÔÏó±à³ÌµÄ¸ÅÄî½²Æð¡£
1 Á½ÖÖ·¶ÐÍ
ÎÒÃÇÖªµÀ£¬ËùÓеļÆËã»ú³ÌÐò¶¼ÓÉÁ½ÀàÔªËØ×é³É£º´úÂëºÍÊý¾Ý¡£´ËÍ⣬´Ó¸ÅÄîÉϽ²£¬³ÌÐò»¹¿ÉÒÔÒÔËüµÄ´úÂë»òÊÇÊý¾ÝΪºËÐĽøÐÐ×éÖ¯±àд¡£Ò²¾ÍÊÇ˵£¬Ò»Ð©³ÌÐòΧÈÆ¡°ÕýÔÚ·¢Éúʲô¡±±àд£¬¶øÁíһЩ³ÌÐòÔòΧÈÆ¡°Ë½«±»Ó°Ï족±àд¡£ÕâÁ½ÖÖ·¶Ð;ö¶¨³ÌÐòµÄ¹¹½¨·½·¨¡£µÚÒ»ÖÖ·½·¨±»³ÆΪÃæÏò¹ý³ÌµÄÄ£ÐÍ£¨process -oriented model £©£¬ÓÃËü±àдµÄ³ÌÐò¶¼¾ßÓÐÏßÐÔÖ´ÐеÄÌص㡣ÃæÏò¹ý³ÌµÄÄ£ÐÍ¿ÉÈÏΪÊÇ´úÂë×÷ÓÃÓÚÊý¾Ý£¬ÏñCÕâÑùµÄ¹ý³ÌʽÓïÑÔ²ÉÓÃÕâ¸öÄ£ÐÍÊÇÏ൱³É¹¦µÄ¡£È»¶ø£¬ÕýÈçÔÚµÚ1ÕÂÌáµ½µÄ£¬µ±³ÌÐò±äµÃ¸ü´ó²¢ÇÒ¸ü¸´ÔÓʱ£¬¾Í»á³öÏÖÎÊÌâ¡£
ΪÁ˹ÜÀí²»¶ÏÔö¼ÓµÄ¸´ÔÓÐÔ£¬µÚ¶þÖÖ·½Ê½£¬Ò²¾ÍÊÇÃæÏò¶ÔÏóµÄ±à³Ì£¨object-oriented programming £©±»¹¹Ë¼³öÀ´ÁË¡£ÃæÏò¶ÔÏóµÄ±à³ÌΧÈÆËüµÄÊý¾Ý£¨¼´¶ÔÏ󣩺ÍΪÕâ¸öÊý¾ÝÑϸñ¶¨ÒåµÄ½Ó¿ÚÀ´×éÖ¯³ÌÐò¡£ÃæÏò¶ÔÏóµÄ³ÌÐòʵ¼ÊÉÏÊÇÓÃÊý¾Ý¿ØÖƶԴúÂëµÄ·ÃÎÊ¡£ÏÂÃæÄ㽫¿´µ½£¬½«¿ØÖƵÄʵÌå±ä»»ÎªÊý¾Ý£¬¿Éʹ³ÌÐòÔÚ×éÖ¯½á¹¹ÉÏ´ÓÈô¸É·½ÃæÊÜÒæ¡£
2 ³éÏó
ÃæÏò¶ÔÏó±à³ÌµÄÒ»¸öʵÖÊÐÔµÄÒªËØÊdzéÏó¡£ÈËÃÇͨ¹ý³éÏó£¨abstraction£©´¦Àí¸´ÔÓÐÔ¡£ÀýÈ磬ÈËÃDz»»á°ÑÒ»Á¾Æû³µÏëÏó³ÉÓɼ¸Íò¸ö»¥Ïà¶ÀÁ¢µÄ²¿·ÖËù×é³ÉµÄÒ»Ì××°Ö㬶øÊÇ°ÑÆû³µÏë³ÉÒ»¸ö¾ßÓÐ×Ô¼º¶ÀÌØÐÐΪµÄ¶ÔÏó¡£ÕâÖÖ³éÏóʹÈËÃÇ¿ÉÒÔºÜÈÝÒ׵ؽ«Ò»Á¾Æû³µ¿ªµ½ÔÓ»õµê£¬¶ø²»»áÒò×é³ÉÆû³µ¸÷²¿·ÖÁã¼þ¹ýÓÚ¸´ÔÓ¶ø²»ÖªËù´ë¡£ËûÃÇ¿ÉÒÔºöÂÔÒýÇæ¡¢´«¶¯¼°É²³µÏµÍ³µÄ¹¤×÷ϸ½Ú£¬½«Æû³µ×÷Ϊһ¸öÕûÌåÀ´¼ÓÒÔÀûÓá£
ʹÓò㼶·ÖÀàÊǹÜÀí³éÏóµÄÒ»¸öÓÐЧ·½·¨¡£ËüÔÊÐíÄã¸ù¾ÝÎïÀíÒâÒ彫¸´ÔÓµÄϵͳ·Ö½âΪ¸ü¶à¸üÒ×´¦ÀíµÄС¿é¡£´ÓÍâ±í¿´£¬Æû³µÊÇÒ»¸ö¶ÀÁ¢µÄ¶ÔÏó¡£Ò»µ©µ½ÁËÄÚ²¿£¬Äã»á¿´µ½Æû³µÓÉÈô¸É×Óϵͳ×é³É£º¼Ýʻϵͳ£¬Öƶ¯ÏµÍ³£¬ÒôÏìϵͳ£¬°²È«´ø£¬¹©Å¯£¬±ãЯµç»°£¬µÈµÈ¡£ÔÙ½øÒ»²½Ï¸·Ö£¬ÕâЩ×ÓϵͳÓɸü¶àµÄרÓÃÔª¼þ×é³É¡£ÀýÈ磬ÒôÏìϵͳÓÉһ̨ÊÕÒô»ú¡¢Ò»¸öCD²¥·ÅÆ÷¡¢»òÐí»¹ÓÐһ̨´Å´ø·ÅÒô»ú×é³É¡£´ÓÕâÀïµÃµ½µÄÖØÒªÆô·¢ÊÇ£¬Äãͨ¹ý²ã¼¶³éÏó¶Ô¸´ÔÓµÄÆû³µ£¨»òÈκÎÁíÍ⸴ÔÓµÄϵͳ£©½øÐйÜÀí¡£
¸´ÔÓϵͳµÄ·Ö²ã³éÏóÒ²Äܱ»ÓÃÓÚ¼ÆËã»ú³ÌÐòÉè¼Æ¡£´«Í³µÄÃæÏò¹ý³Ì³ÌÐòµÄÊý¾Ý¾¹ý³éÏó¿ÉÓÃÈô¸É¸ö×é³É¶ÔÏó±íʾ£¬³ÌÐòÖеĹý³Ì²½Öè¿É¿´³ÉÊÇÔÚÕâЩ¶ÔÏóÖ®¼ä½øÐÐÏûÏ¢ÊÕ¼¯¡£ÕâÑù£¬Ã¿Ò»¸ö¶ÔÏó¶¼ÓÐËü×Ô¼ºµÄ¶ÀÌØÐÐΪÌØÕ÷¡£Äã¿ÉÒÔ°ÑÕâЩ¶ÔÏóµ±×÷¾ßÌåµÄʵÌ壬ÈÃËüÃǶԸæËßËüÃÇ×öʲôʵÄÏûÏ¢×÷³ö·´Ó¦¡£ÕâÊÇÃæÏò¶ÔÏó±à³ÌµÄ±¾ÖÊ¡£
ÃæÏò¶ÔÏóµÄ¸ÅÄîÊÇJava µÄºËÐÄ£¬¶Ô³ÌÐòÔ±À´½²£¬ÖØÒªµÄÊÇÒªÀí½âÕâЩ¸ÅÄîÔõôת»¯Îª³ÌÐò¡£Ä㽫»á·¢ÏÖ£¬ÔÚÈκÎÖ÷ÒªµÄÈí¼þ¹¤³ÌÏîÄ¿ÖУ¬Èí¼þ¶¼²»¿É±ÜÃâµØÒª¾Àú¸ÅÄîÌá³ö¡¢³É³¤¡¢Ë¥ÀÏÕâÑùÒ»¸öÉúÃüÖÜÆÚ£¬¶øÃæÏò¶ÔÏóµÄ³ÌÐòÉè¼Æ£¬¿ÉÒÔʹÈí¼þÔÚÉúÃüÖÜÆÚµÄÿһ¸ö½×¶Î¶¼´¦±ä²»¾ª£¬ÓÐ×ã¹»µÄÓ¦±äÄÜÁ¦¡£ÀýÈ磬һµ©Ä㶨ÒåºÃÁ˶ÔÏóºÍÖ¸ÏòÕâЩ¶ÔÏóµÄ¼òÃ÷µÄ¡¢¿É¿¿µÄ½Ó¿Ú£¬Äã¾ÍÄܴܺÓÈݺÜ×ÔÐŵؽâ³ý»ò¸üÌæ¾ÉϵͳµÄijЩ×é³É²¿·Ö¡£
3 ÃæÏò¶ÔÏó±à³ÌµÄ3¸öÔÔò
ËùÓÐÃæÏò¶ÔÏóµÄ±à³ÌÓïÑÔ¶¼Ìṩ°ïÖúÄãʵÏÖÃæÏò¶ÔÏóÄ£Ð͵ĻúÖÆ£¬ÕâЩ»úÖÆÊÇ·â×°£¬¼Ì³Ð¼°¶à̬ÐÔ¡£ÏÖÔÚÈÃÎÒÃÇÀ´¿´Ò»ÏÂËüÃǵĸÅÄî¡£
·â×°
·â×°£¨Encapsulation £©Êǽ«´úÂë¼°Æä´¦ÀíµÄÊý¾Ý°ó¶¨ÔÚÒ»ÆðµÄÒ»ÖÖ±à³Ì»úÖÆ£¬¸Ã»úÖƱ£Ö¤Á˳ÌÐòºÍÊý¾Ý¶¼²»ÊÜÍⲿ¸ÉÈÅÇÒ²»±»ÎóÓá£Àí½â·â×°ÐÔµÄÒ»¸ö·½·¨¾ÍÊÇ°ÑËüÏë³ÉÒ»¸öºÚÏ»×Ó£¬Ëü¿ÉÒÔ×èÖ¹ÔÚÍⲿ¶¨ÒåµÄ´úÂëËæÒâ·ÃÎÊÄÚ²¿´úÂëºÍÊý¾Ý¡£¶ÔºÚÏ»×ÓÄÚ´úÂëºÍÊý¾ÝµÄ·ÃÎÊͨ¹ýÒ»¸öÊʵ±¶¨ÒåµÄ½Ó¿ÚÑϸñ¿ØÖÆ¡£Èç¹ûÏëÓëÏÖʵÉú»îÖеÄij¸öÊÂÎï×÷¶Ô±È£¬¿É¿¼ÂÇÆû³µÉϵÄ×Ô¶¯´«ËÍ¡£×Ô¶¯´«ËÍÖаüº¬ÁËÓйØÒýÇæµÄÊý°Ù±ÈÌصÄÐÅÏ¢£¬ÀýÈçÄãÕýÔÚÒÔʲôÑùµÄ¼ÓËÙ¶ÈÇ°½ø£¬ÄãÐÐʻ·ÃæµÄƶÈÈçºÎ£¬ÒÔ¼°Ä¿Ç°µÄµµÎ»¡£×÷ΪÓû§£¬ÄãÓ°ÏìÕâ¸ö¸´ÔÓ·â×°µÄ·½·¨½öÓÐÒ»¸ö£ºÒƶ¯µµÎ»´«¶¯¸Ë¡£ÀýÈ磬Äã²»ÄÜͨ¹ýʹÓùÕÍäÐźŻòµ²·ç²£Á§²ÁÊÃÆ÷Ó°Ïì´«¶¯¡£ËùÒÔµµÎ»´«¶¯¸ËÊÇ°ÑÄãºÍ´«¶¯Á¬½ÓÆðÀ´µÄΩһ½Ó¿Ú¡£´ËÍ⣬´«¶¯¶ÔÏóÄÚµÄÈκβÙ×÷¶¼²»»áÓ°Ïìµ½Íⲿ¶ÔÏó£¬ÀýÈ磬µµÎ»´«¶¯×°Öò»»á´ò¿ª³µÇ°µÆ£¡ÒòΪ×Ô¶¯´«¶¯±»·â×°ÆðÀ´ÁË£¬ËùÒÔÈκÎÒ»¼ÒÆû³µÖÆÔìÉ̶¼¿ÉÒÔÑ¡ÔñÒ»ÖÖÊʺÏ×Ô¼ºµÄ·½Ê½À´ÊµÏÖËü¡£È»¶ø£¬´Ó˾»úµÄ¹ÛµãÀ´¿´£¬ËüÃǵÄÓÃ;¶¼ÊÇÒ»ÑùµÄ¡£Óë´ËÏàͬµÄ¹ÛµãÄܱ»ÓÃÓÚ±à³Ì¡£·â×°´úÂëµÄºÃ´¦ÊÇÿ¸öÈ˶¼ÖªµÀÔõô·ÃÎÊËü£¬µ«È´²»±Ø¿¼ÂÇËüµÄÄÚ²¿ÊµÏÖϸ½Ú£¬Ò²²»±Øº¦ÅÂʹÓò»µ±»á´øÀ´¸ºÃæÓ°Ïì¡£
Java ·â×°µÄ»ù±¾µ¥ÔªÊÇÀà¡£¾¡¹ÜÀཫÔÚÒÔºóÕ½ÚÏêϸ½éÉÜ¡£ÏÖÔÚÈÔÓбØÒª¶ÔËü×÷һϼòµ¥µÄÌÖÂÛ¡£Ò»¸öÀࣨclass£©¶¨ÒåÁ˽«±»Ò»¸ö¶ÔÏ󼯹²ÏíµÄ½á¹¹ºÍÐÐΪ£¨Êý¾ÝºÍ´úÂ룩¡£Ò»¸ö¸ø¶¨ÀàµÄÿ¸ö¶ÔÏ󶼰üº¬Õâ¸öÀඨÒåµÄÐÐΪºÍ½á¹¹£¬ºÃÏñËüÃÇÊÇ´Óͬһ¸öÀàµÄÄ£×ÓÖÐÖýÔì³öÀ´ËƵġ£ÒòΪÕâ¸öÔÒò£¬¶ÔÏóÓÐʱ±»¿´×÷ÊÇÀàµÄʵÀý£¨instances of a class £©¡£ËùÒÔ£¬ÀàÊÇÒ»ÖÖÂß¼½á¹¹£¬¶ø¶ÔÏóÊÇÕæÕý´æÔÚµÄÎïÀíʵÌå¡£
µ±´´½¨Ò»¸öÀàʱ£¬ÄãÒªÖ¸¶¨×é³ÉÄǸöÀàµÄ´úÂëºÍÊý¾Ý¡£´Ó×ÜÌåÉϽ²£¬ÕâЩԪËض¼±»³ÆΪ¸ÃÀàµÄ³ÉÔ±£¨members £©¡£¾ßÌåµØ˵£¬ÀඨÒåµÄÊý¾Ý³ÆΪ³ÉÔ±±äÁ¿£¨member variables£©»òʵÀý±äÁ¿£¨instance variables £©¡£²Ù×÷Êý¾ÝµÄ´úÂë³ÆΪ³ÉÔ±·½·¨£¨member methods £©»ò¼ò³Æ·½·¨£¨methods £©¡£Èç¹ûÄã¶ÔC/C++ ÊìϤ£¬¿ÉÒÔÕâÑùÀí½â£ºJava ³ÌÐòÔ±Ëù³ÆµÄ·½·¨£¬¾ÍÊÇC/C++ ³ÌÐòÔ±Ëù³ÆµÄº¯Êý£¨function £©¡£ÔÚÍêÈ«ÓÃJava ±àдµÄ³ÌÐòÖУ¬·½·¨¶¨ÒåÈçºÎʹÓóÉÔ±±äÁ¿¡£ÕâÒâζ×ÅÒ»¸öÀàµÄÐÐΪºÍ½Ó¿ÚÊÇͨ¹ý·½·¨À´¶¨ÒåµÄ£¬ÀàÕâЩ·½·¨¶ÔËüµÄʵÀýÊý¾Ý½øÐвÙ×÷¡£
¼ÈÈ»ÀàµÄÄ¿µÄÊÇ·â×°¸´ÔÓÐÔ£¬ÔÚÀàµÄÄÚ²¿¾ÍÓ¦¸ÃÓÐÒþ²ØʵÏÖ¸´ÔÓÐÔ»úÖÆ¡£ÀàÖеÄÿ¸ö·½·¨»ò±äÁ¿¶¼¿ÉÒÔ±»±ê¼ÇΪ˽ÓУ¨private £©»ò¹«¹²£¨public £©¡£ÀàµÄ¹«¹²½Ó¿Ú´ú±íÀàµÄÍⲿÓû§ÐèÒªÖªµÀ»ò¿ÉÒÔÖªµÀµÄÿ¼þÊÂÇ飻˽Óз½·¨ºÍÊý¾Ý½öÄܱ»Ò»¸öÀàµÄ³ÉÔ±´úÂëËù·ÃÎÊ£¬ÆäËûÈκβ»ÊÇÀàµÄ³ÉÔ±µÄ´úÂ붼²»ÄÜ·ÃÎÊ˽Óеķ½·¨»ò±äÁ¿¡£¼ÈÈ»ÀàµÄ˽ÓгÉÔ±½öÄܱ»³ÌÐòÖеÄÆäËû²¿·Öͨ¹ý¸ÃÀàµÄ¹«¹²·½·¨·ÃÎÊ£¬ÄÇôÄã¾ÍÄܱ£Ö¤²»Ï£Íû·¢ÉúµÄÊÂÇé¾ÍÒ»¶¨²»»á·¢Éú¡£µ±È»£¬¹«¹²½Ó¿ÚÓ¦¸ÃСÐÄ×ÐϸÉè¼Æ£¬²»Òª¹ý¶à±©Â¶ÀàµÄÄÚ²¿ÄÚÈÝ£¨¼ûͼ2-1 £©¡£
ͼ2-1 ·â×°£º¿ÉÓÃÀ´±£»¤Ë½ÓÐÊý¾ÝµÄ¹«¹²·½·¨
¼Ì³Ð
¼Ì³Ð£¨Inheritance £©ÊÇÒ»¸ö¶ÔÏó»ñµÃÁíÒ»¸ö¶ÔÏóµÄÊôÐԵĹý³Ì¡£¼Ì³ÐºÜÖØÒª£¬ÒòΪËüÖ§³ÖÁË°´²ã·ÖÀàµÄ¸ÅÄî¡£ÈçÇ°ÃæÌáµ½µÄ£¬´ó¶àÊý֪ʶ¶¼¿ÉÒÔ°´²ã¼¶£¨¼´´ÓÉϵ½Ï£©·ÖÀà¹ÜÀí¡£ÀýÈ磬×ð¹óµÄÁÔÈ®Êǹ·ÀàµÄÒ»²¿·Ö£¬¹·ÓÖÊDz¸È鶯ÎïÀàµÄÒ»²¿·Ö£¬²¸È鶯ÎïÀàÓÖÊǶ¯ÎïÀàµÄÒ»²¿·Ö¡£Èç¹û²»Ê¹Óò㼶µÄ¸ÅÄÎÒÃǾͲ»µÃ²»·Ö±ð¶¨Òåÿ¸ö¶¯ÎïµÄËùÓÐÊôÐÔ¡£Ê¹ÓÃÁ˼̳У¬Ò»¸ö¶ÔÏó¾ÍÖ»Ð趨ÒåʹËüÔÚËùÊôÀàÖжÀÒ»ÎÞ¶þµÄÊôÐÔ¼´¿É£¬ÒòΪËü¿ÉÒÔ´ÓËüµÄ¸¸ÀàÄǶù¼Ì³ÐËùÓеÄͨÓÃÊôÐÔ¡£ËùÒÔ£¬¿ÉÒÔÕâÑù˵£¬ÕýÊǼ̳лúÖÆʹһ¸ö¶ÔÏó³ÉΪһ¸ö¸ü¾ßͨÓÃÀàµÄÒ»¸öÌض¨ÊµÀý³ÉΪ¿ÉÄÜ¡£ÏÂÃæÈÃÎÒÃǸü¾ßÌåµØÌÖÂÛÕâ¸ö¹ý³Ì¡£
´ó¶àÊýÈ˶¼ÈÏΪÊÀ½çÊÇÓɶÔÏó×é³ÉµÄ£¬¶ø¶ÔÏóÓÖÊÇ°´¶¯Îï¡¢²¸È鶯ÎïºÍ¹·ÕâÑùµÄ²ã¼¶½á¹¹Ï໥ÁªÏµµÄ¡£Èç¹ûÄãÏëÒÔÒ»¸ö³éÏóµÄ·½Ê½ÃèÊö¶¯ÎÄÇôÄã¿ÉÒÔͨ¹ý´óС¡¢ÖÇÁ¦¼°¹Ç¸ìϵͳµÄÀàÐ͵ÈÊôÐÔ½øÐÐÃèÊö¡£¶¯ÎïÒ²¾ßÓÐÈ·¶¨µÄÐÐΪ£¬ËüÃÇÒ²ÐèÒª½øʳ¡¢ºôÎü£¬²¢ÇÒ˯¾õ¡£ÕâÖÖ¶ÔÊôÐÔºÍÐÐΪµÄÃèÊö¾ÍÊǶԶ¯ÎïÀàµÄ¶¨Òå¡£
Èç¹ûÄãÏëÃèÊöÒ»¸ö¸ü¾ßÌåµÄ¶¯ÎïÀ࣬±ÈÈ粸È鶯ÎËüÃÇ»áÓиü¾ßÌåµÄÊôÐÔ£¬±ÈÈçÑÀ³ÝÀàÐÍ¡¢ÈéÏÙÀàÐ͵ȡ£ÎÒÃÇ˵²¸ÈéÀදÎïÊǶ¯ÎïµÄ×ÓÀࣨsubclass £©£¬¶ø¶¯ÎïÊDz¸È鶯ÎïµÄ³¬Àࣨsuperclass £©¡£
ÓÉÓÚ²¸È鶯ÎïÀàÊÇÐèÒª¸ü¼Ó¾«È·¶¨ÒåµÄ¶¯ÎËùÒÔËü¿ÉÒÔ´Ó¶¯ÎïÀà¼Ì³Ð£¨inherit £©ËùÓеÄÊôÐÔ¡£Ò»¸öÉî¶È¼Ì³ÐµÄ×ÓÀà¼Ì³ÐÁËÀà²ã¼¶£¨class hierarchy £©ÖÐËüµÄÿ¸ö×æÏȵÄËùÓÐÊôÐÔ¡£
¼Ì³ÐÐÔÓë·â×°ÐÔÏ໥×÷Óá£Èç¹ûÒ»¸ö¸ø¶¨µÄÀà·â×°ÁËһЩÊôÐÔ£¬ÄÇôËüµÄÈκÎ×ÓÀཫ¾ßÓÐͬÑùµÄÊôÐÔ£¬¶øÇÒ»¹Ìí¼ÓÁË×ÓÀà×Ô¼ºÌØÓеÄÊôÐÔ£¨¼ûͼ2-2 £©¡£ÕâÊÇÃæÏò¶ÔÏóµÄ³ÌÐòÔÚ¸´ÔÓÐÔÉϳÊÏßÐÔ¶ø·Ç¼¸ºÎÐÔÔö³¤µÄÒ»¸ö¹Ø¼ü¸ÅÄеÄ×ÓÀà¼Ì³ÐËüµÄËùÓÐ×æÏȵÄËùÓÐÊôÐÔ¡£Ëü²»ÓëϵͳÖÐÆäÓàµÄ¶àÊý´úÂë²úÉúÎÞ·¨Ô¤ÁϵÄÏ໥×÷Óá£
¶à̬ÐÔ
¶à̬ÐÔ£¨Polymorphism £¬À´×ÔÓÚÏ£À°Ó±íʾ¡°¶àÖÖÐÎ̬¡±£©ÊÇÔÊÐíÒ»¸ö½Ó¿Ú±»¶à¸öͬÀද×÷ʹÓõÄÌØÐÔ£¬¾ßÌåʹÓÃÄĸö¶¯×÷ÓëÓ¦Óó¡ºÏÓйأ¬ÏÂÃæÎÒÃÇÒÔÒ»¸öºó½øÏȳöÐͶÑջΪÀý½øÐÐ˵Ã÷¡£¼ÙÉèÄãÓÐÒ»¸ö³ÌÐò£¬ÐèÒª3ÖÖ²»Í¬ÀàÐ͵ĶÑÕ»¡£Ò»¸ö¶ÑÕ»ÓÃÓÚÕûÊýÖµ£¬Ò»¸öÓÃÓÚ¸¡µãÊýÖµ£¬Ò»¸öÓÃÓÚ×Ö·û¡£¾¡¹Ü¶ÑÕ»Öд洢µÄÊý¾ÝÀàÐͲ»Í¬£¬µ«ÊµÏÖÿ¸öÕ»µÄËã·¨ÊÇÒ»ÑùµÄ¡£Èç¹ûÓÃÒ»ÖÖ·ÇÃæÏò¶ÔÏóµÄÓïÑÔ£¬Äã¾ÍÒª´´½¨3¸ö²»Í¬µÄ¶ÑÕ»³ÌÐò£¬Ã¿¸ö³ÌÐòÒ»¸öÃû×Ö¡£µ«ÊÇ£¬Èç¹ûʹÓÃJava £¬ÓÉÓÚËü¾ßÓжà̬ÐÔ£¬Äã¾Í¿ÉÒÔ´´½¨Ò»¸öͨÓõĶÑÕ»³ÌÐò¼¯£¬ËüÃǹ²ÏíÏàͬµÄÃû³Æ¡£
¶à̬ÐԵĸÅÄî¾³£±»Ëµ³ÉÊÇ¡°Ò»¸ö½Ó¿Ú£¬¶àÖÖ·½·¨¡±¡£ÕâÒâζ×Å¿ÉÒÔΪһ×éÏà¹ØµÄ¶¯×÷Éè¼ÆÒ»¸öͨÓõĽӿڡ£¶à̬ÐÔÔÊÐíͬһ¸ö½Ó¿Ú±»±ØÓÚͬһÀàµÄ¶à¸ö¶¯×÷ʹÓã¬ÕâÑù¾Í½µµÍÁ˳ÌÐòµÄ¸´ÔÓÐÔ¡£Ñ¡ÔñÓ¦ÓÃÓÚÿһÖÖÇéÐεÄÌض¨µÄ¶¯×÷£¨specific action £©£¨¼´·½·¨£©ÊDZàÒëÆ÷µÄÈÎÎñ£¬³ÌÐòÔ±ÎÞÐèÊÖ¹¤½øÐÐÑ¡Ôñ¡£ÄãÖ»Ðè¼Çס²¢ÇÒʹÓÃͨÓýӿڼ´¿É¡£
ͼ2-2 À²»À¶àÁÔÈ®¼Ì³ÐËùÓÐÆ䳬ÀàµÄ·â×°
ÔÙÄù·×÷±ÈÓ÷£¬Ò»Ìõ¹·µÄÐá¾õÊǶà̬µÄ¡£Èç¹û¹·Îŵ½Ã¨µÄÆø棬Ëü»áÔڷͽв¢ÇÒ×·×ÅËüÅÜ¡£Èç¹û¹·Îŵ½Ê³ÎïµÄÆø棬Ëü½«·ÖÃÚÍÙÒº²¢ÏòÊ¢×ÅʳÎïµÄÍëÅÜÈ¥¡£Á½ÖÖ×´¿öÏÂÊÇͬһÖÖÐá¾õÆ÷¹ÙÔÚ¹¤×÷£¬²î±ðÔÚÓÚÎŵ½ÁËʲôÆø棬Ҳ¾ÍÊÇÓÐÁ½ÖÖ²»Í¬ÀàÐ͵ÄÊý¾Ý×÷ÓÃÓÚ¹·µÄ±Ç×Ó£¡ÔÚÒ»¸öJava ³ÌÐòÖÐʹÓ÷½·¨Ê±£¬Ò²¿ÉÒÔ²ÉÓÃÕâ¸öͨÓõĸÅÄî¡£
¶à̬ÐÔ¡¢·â×°ÐÔÓë¼Ì³ÐÐÔÏ໥×÷ÓÃ
Èç¹ûÓõõ±£¬ÔÚÓɶà̬ÐÔ¡¢·â×°ÐԺͼ̳ÐÐÔ¹²Í¬×é³ÉµÄ±à³Ì»·¾³ÖпÉÒÔд³ö±ÈÃæÏò¹ý³ÌÄ£ÐÍ»·¾³¸ü½¡×³¡¢À©Õ¹ÐÔ¸üºÃµÄ³ÌÐò¡£¾«ÐÄÉè¼ÆµÄÀà²ã¼¶½á¹¹ÊÇÖØÓÃÄ㻨ʱ¼äºÍŬÁ¦¸Ä½ø²¢²âÊÔ¹ýµÄ³ÌÐòµÄ»ù´¡£¬·â×°¿ÉÒÔʹÄãÔÚ²»ÆÆ»µÒÀÀµÓÚÀ๫¹²½Ó¿ÚµÄ´úÂë»ù´¡É϶ԳÌÐò½øÐÐÉý¼¶Ç¨ÒÆ£¬¶à̬ÐÔÔòÓÐÖúÓÚÄã±àдÇå³þ¡¢Ò׶®¡¢Ò׶Á¡¢Ò×Ð޸ĵijÌÐò¡£
ÔÚÇ°ÃæÁ½¸öÓëÏÖʵÉú»îÓйصÄʵÀýÖУ¬Æû³µ¸üÄÜÈ«Ãæ˵Ã÷ÃæÏò¶ÔÏóÉè¼ÆµÄÓŵ㣬Ϊ½éÉܼ̳жøÓù·×÷Àà±ÈÒ²ºÜÓÐȤ¡£×ܵÄÀ´Ëµ£¬Æû³µÓë³ÌÐòºÜÏàËÆ£¬ËùÓеļÝʻԱÒÀ¿¿¼Ì³ÐÐԺܿì±ãÄÜÕÆÎÕ¼ÝÊ»²»Í¬ÀàÐÍ£¨×ÓÀࣩ³µÁ¾µÄ¼¼Êõ¡£²»¹ÜÊǽÓËÍѧÉúµÄУ³µ£¬»òÊÇĬÎ÷µÏ˹˽¼Ò½Î³µ£¬»òÊDZ£Ê±½ÝÆû³µ£¬»òÊǼÒÍ¥Æû³µ£¬Ë¾»ú²î²»¶à¶¼ÄÜÕÒµ½·½ÏòÅÌ¡¢Öƶ¯Õ¢ºÍ¼ÓËÙÆ÷£¬²¢ÖªµÀÈçºÎ²Ù×÷¡£¾¹ýÒ»¶Î¼ÝÊ»£¬´ó¶àÊýÈËÉõÖÁÄÜÖªµÀÊÖ¶¯µµÓë×Ô¶¯µµÖ®¼äµÄ²î±ð£¬ÒòΪËûÃÇ´Ó¸ù±¾ÉÏÀí½âÕâÁ½¸öµµµÄ³¬Àà---- ´«¶¯¡£
ÈËÃÇÔÚÆû³µÉÏ¿´¼ûµÄ×ÜÊÇ·â×°ºÃµÄÌØÐÔ¡£É²³µºÍ̤½Å°åÒþ±Î×Ų»¿É˼ÒéµÄ¸´ÔÓÐÔ£¬µ«½Ó¿ÚÈ´ÊÇÈç´Ë¼òµ¥£¬ÄãµÄ½Å¾Í¿ÉÒÔ²Ù×÷ËüÃÇ£¡ÒýÇæ¡¢Öƶ¯Õ¢¼°ÂÖÌ¥µÄ´óС¶ÔÓÚÄãÈçºÎ¶¨Òå̤½Å°åÀàµÄ½Ó¿ÚûÓÐÈκÎÓ°Ïì¡£
×îºóµÄÊôÐÔ£¬¶à̬ÐÔ£¬ÔÚÆû³µÖÆÔìÉÌ»ùÓÚÏàͬµÄ½»Í¨¹¤¾ßËùÌṩµÄ¶àÖÖÑ¡ÔñµÄÄÜÁ¦Éϵõ½Á˳ä·Ö·´Ó³¡£ÀýÈ磬ɲ³µÏµÍ³ÓÐÕýËøºÍ·´ËøÖ®·Ö£¬·½ÏòÅÌÓдøÖúÁ¦»ò²»´øÖúÁ¦Ö®·Ö£¬ÒýÇæÓÐ4¸×¡¢6¸×»ò8¸×Ö®·Ö¡£ÎÞÂÛÉèÖÃÈçºÎ£¬Ä㶼µÃ½Å²Èɲ³µ°åÀ´Í£³µ£¬×ª¶¯·½ÏòÅÌÀ´×ªÏò£¬°´ÀëºÏÆ÷À´Öƶ¯¡£Í¬ÑùµÄ½Ó¿ÚÄܱ»ÓÃÀ´¿ØÖÆÐí¶à²»Í¬µÄʵÏÖ¹ý³Ì¡£
ÕýÈçÄãËù¿´µ½µÄ£¬Í¨¹ý·â×°¡¢¼Ì³Ð¼°¶à̬ÐÔÔÀí£¬¸÷¸ö¶ÀÁ¢²¿·Ö×é³ÉÁËÆû³µÕâ¸ö¶ÔÏó¡£ÕâÔÚ¼ÆËã»ú³ÌÐòÉè¼ÆÖÐÒ²ÊÇÒ»ÑùµÄ¡£Í¨¹ýÃæÏò¶ÔÏóÔÔòµÄʹÓ㬿ÉÒ԰ѳÌÐòµÄ¸÷¸ö¸´ÔÓ²¿·Ö×éºÏ³ÉÒ»¸öÒ»Öµġ¢½¡×³µÄ¡¢¿Éά»¤µÄ³ÌÐòÕûÌå¡£
ÕýÈç±¾½Ú¿ªÊ¼Ê±Ìáµ½µÄ£¬ËùÓеÄJava ³ÌÐò¶¼ÊÇÃæÏò¶ÔÏóµÄ¡£»òÕߣ¬¸ü¾«È·µØ˵£¬Ã¿¸öJava ³ÌÐò¶¼¾ßÓзâ×°ÐÔ¡¢¼Ì³ÐÐÔ¼°¶à̬ÐÔ¡£¾¡¹ÜÔÚ±¾Õ½«Òª½éÉܵļòµ¥Ê¾Àý³ÌÐò¼°ÒÔºó¼¸ÕµÄʾÀý³ÌÐòÖв¢Î´ÌåÏÖËùÓÐÕâЩÌØÐÔ£¬µ«Ò²ÓÐËùÌåÏÖ¡£Ä㽫¿´µ½£¬Java ÌṩµÄÐí¶àÌØÐÔÊÇËüµÄÄÚÖÃÀà¿âµÄÒ»²¿·Ö£¬Õâ¸ö¿âʹ·â×°ÐÔ¡¢¼Ì³ÐÐÔ¼°¶à̬ÐԵõ½¸ü¹ã·ºÓ¦Óá£