ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

OOPÓïÑÔ¼¼Êõ±È½Ï£ºJava£¬C++£¬Object Pascal(Ò»)
2014-11-24 01:15:22 ¡¾´ó ÖРС¡¿ ä¯ÀÀ:447´Î
Tags£ºOOP ÓïÑÔ ¼¼Êõ ±È½Ï Java Object Pascal

InternetÉÏ×îÁ÷ÐеÄÓïÑÔJava£¬×î³£¼ûµÄOOPÓïÑÔC++£¬ÒÔ¼°Borland¹«Ë¾ÓÃÓÚËûÃǵļ¯³É¿ª·¢»·¾³DelphiÖеÄObject Pascal¡£ÕâÈýÖÖÓïÑÔ¾ßÓкܶàÏàͬµã¡£


OOP¹Ø¼üÌØÐÔ
ÃæÏò¶ÔÏó³ÌÐòÉè¼Æ£¨OOP£©²¢²»ÊÇÒ»ÖÖеijÌÐòÉè¼Æ¼¼Êõ¡£Ëü×îÔç¿ÉÒÔÉÏËݵ½Simula-67£¬ËäÈ»ËüµÄµÚÒ»¸öÕæÕýÍêÕûµÄʵÏÖÊÇSimula-80¡£ÔÚ80Äê´úÏ°ëÆÚ£¬OOP±äµÃÁ÷ÐÐÆðÀ´£¬²¢ÇÒ³öÏÖÁËÐí¶àÖ§³ÖOOPµÄÓïÑÔ£¬±ÈÈçC++£¬Objective-C£¨ÁíÒ»ÖÖCÓïÑÔÀ©Õ¹£©£¬Object PAscalºÍTurbo Pascal£¬CLOS£¨LispµÄÃæÏò¶ÔÏóÀ©Õ¹£©£¬Eiffel£¬Ada£¨Æä×îеİ汾£©£¬ÒÔ¼°×î½üµÄJava¡£±¾ÎĽ«¼¯ÖÐÌÖÂÛC++¡¢Object PascalºÍJava£¬²¢ÓÐÏÞµÄÉè¼ÆÆäËüOOPÓïÑÔ¡£
OOPµÄ¹Ø¼üÌØÐÔÊǹãΪÈËÖªµÄ£¬ÔÚ¼ÌÐøÏÂÃæµÄÄÚÈÝ֮ǰ£¬ÎÒ½«¼òµ¥µÄÖظ´Ò»Ï£¬ÒÔ±ãÄãÔÙÊìϤһÏÂÕâЩͨÓü¼Êõ¡£
¡¤µÚÒ»¸ö¹Ø¼üÌØÐÔÊǶ¨ÒåÁËÀ࣬·â×°Á˱íÏֺͲÙ×÷µÄ³éÏóÊý¾ÝÀàÐÍ¡£ÔÚOOPÓïÑÔÖУ¬ÀàÊÇÄ£¿é¡¢·â×°ºÍÊý¾Ý³éÏóµÄ»ù´¡¡£
¡¤µÚ¶þ¸ö¹Ø¼üÌØÐÔÊǼ̳У¬´ÓÒÑ´æÔÚµÄÀàÐÍÖм̳ÐÔªËØ£¨±íÏֺͷ½·¨£©£¬¸Ä±ä»òÀ©Õ¹¾ÉÀàÐ͵ķ½·¨¡£
¡¤µÚÈý¸ö¹Ø¼ü¼¼Êõ±»³ÆΪ¶à̬ÐÔ£¬ËüÔÊÐíʹÓÃÀàËƵķ½·¨²Ù×÷²»Í¬ÀàÐ͵ĶÔÏó£¨Í¨³£ÊÇ×ÓÀà¶ÔÏ󣩡£ËüʹµÃÀàµÄ¿ÉÓÃÐÔ½øÒ»²½Ìá¸ß£¬³ÌÐòÒ²Òò´Ë¸üÈÝÒ×ά»¤ºÍÀ©Õ¹¡£
Ò»ÖÖÓïÑÔÈç¹ûÊÇÃæÏò¶ÔÏóµÄ£¬±ØÐë¾ßÓÐÀà¡¢¼Ì³ÐºÍ¶à̬Õ⼸¸öÌØÐÔ£¨½öÖ§³ÖÀà¶ø²»Ö§³Ö¼Ì³ÐºÍ¶à̬µÄÓïÑÔ£¬Í¨³£±»³ÆΪ»ùÓÚ¶ÔÏóµÄ£©¡£²»Í¬µÄOOPÓïÑÔ¿ÉÄÜ»áʹÓÃÍêÈ«²»Í¬µÄ·½·¨ÊµÏÖÒÔÉϼ¸¸öÌØÐÔ¡£ÎÒÃÇ¿ÉÒÔͨ¹ý±È½ÏÀàÐͼì²é»úÖÆ¡¢¶Ô²»Í¬³ÌÐòÉè¼ÆÄ£Ð͵ÄÖ§³ÖÒÔ¼°ËùÖ§³ÖµÄ¶ÔÏóÄ£ÐÍÀ´Çø±ð²»Í¬µÄOOPÓïÑÔ¡£ÏÂÃæÎÒ½«ÉîÈëÓïÑÔÌØÐÔµÄϸ½Ú¡£


±àÒëÆÚÀàÐͼì²é vs. ÔËÐÐÆÚÀàÐͼì²é
ÀàÐ͵Äǿ׳ÐÔÊÇÆÀ¼Û³ÌÐòÉè¼ÆÓïÑÔµÄÖØÒª±ê×¼¡£Éæ¼°µ½ÀàÐͼì²éµÄÄÚÈÝ°üÀ¨¶ÔÒÑ´æÔڵķ½·¨µÄµ÷Ó㬷½·¨µÄ²ÎÊýµÄÀàÐÍ£¬Êý×é±ß½çµÄ¼ì²é£¬µÈµÈ¡£
C++¡¢JavaºÍObject Pascal¶à»ò¶à»òÉÙµÄÖ§³Ö±àÒëÆÚÀàÐͼì²é£¬ÆäÖУ¬C++µÄÀàÐͼì²é×îÈõ£¬¶øJavaµÄ×îÇ¿¡£Ô­ÒòÊÇ£¬C++±£ÁôÁ˶ÔCÓïÑÔµÄÖ§³Ö£¬¶øCÓïÑÔËäȻ֧³Ö±àÒëÆÚÀàÐͼì²é£¬È´¼«Æä΢Èõ¡£ÀýÈ磬CºÍC++ÈÏΪËùÓÐÊý×ÖÀàÐͶ¼ÊǼæÈݵģ¨ËäÈ»ÏòÕûÐͱäÁ¿¸³¸¡µãÊýֵʱ±àÒëÆ÷»á±¨¾¯£©¡£ÔÚObject PascalºÍJavaÓïÑÔÖУ¬²¼¶ûÖµÓëÕûÐÍÊýÖµ²»Í¬£¬¶ø×Ö·ûÀàÐÍÔòÊÇÁíÒ»¸öÍêÈ«²»¼æÈݵÄÀàÐÍ¡£
ËäÈ»JavaÐéÄâ»úÔÚÔËÐÐÆÚ¡°·­Ò롱±ÈÌØÂ룬µ«²¢²»±íʾËü·ÅÆúÁ˱àÒëÆÚÀàÐͼì²é¡£Ïà·´£¬ÔÚJavaÖÐÀàÐͼì²é½øÐеÄÏ൱³¹µ×¡£ÁíÍâһЩOOPÓïÑÔ£¬ÀýÈçSmalltalkºÍCLOS£¬ÔòÔÚÔËÐÐÆÚ½øÐÐÀàÐͼì²é¡£


»ìºÏOOPÓïÑÔ vs. ´¿OOPÓïÑÔ
ÁíÒ»¸öÇø±ð´æÔÚÓÚ´¿µÄºÍ»ìºÏµÄOOPÓïÑÔÖ®¼ä¡£´¿OOPÓïÑÔÖ»ÔÊÐíÓ¦ÓÃÒ»ÖÖ³ÌÐòÉè¼ÆÄ£ÐÍ£ºOOP¡£Äã¿ÉÒÔÉùÃ÷ÀàºÍ·½·¨£¬µ«²»ÄÜʹÓÃÀÏʽµÄÆÕͨº¯Êý¡¢¹ý³ÌºÍÈ«¾Ö±äÁ¿¡£
ÔÚÒÔÉÏÈýÖÖÓïÑÔÖУ¬Ö»ÓÐJavaÊÇ´¿OOPÓïÑÔ£¨EiffelºÍSmalltalkÒ²ÊÇ£©£¬³õ¿´ÉÏÈ¥´¿OOPÊǸöºÜºÃµÄÖ÷Ò⣬Ȼ¶ø£¬Äã×îÖÕ»¹ÊÇ»áʹÓÃÐí¶à¾²Ì¬·½·¨ºÍ¾²Ì¬Êý¾Ý¡£³ýÁËÓï·¨¸ü¸´ÔÓ£¬ÕâÓëʹÓÃÈ«¾Öº¯ÊýºÍÊý¾ÝûÓÐÈκÎÇø±ð¡£ÎÒ¸öÈ˵Ĺ۵ãÊÇ£¬´¿OOPÓïÑÔ¶ÔÓÚOOPµÄ³õѧÕ߷dz£ÓаïÖú£¬ÒòΪËû½«²»µÃ²»Ê¹Ó㨲¢Ñ§Ï°£©ÃæÏò¶ÔÏó³ÌÐòÉè¼ÆÄ£ÐÍ¡£ÁíÒ»·½Ã棬C++ºÍObject Pascal¶¼ÊǵäÐ͵ĻìºÏÓïÑÔ£¬ËûÃÇÔÊÐí³ÌÐòԱʹÓô«Í³µÄC»òPascal³ÌÐòÉè¼Æ·½·¨¡£
ҪעÒâµÄÊÇ£¬Smalltalk´ó´óÀ©Õ¹ÁË´¿ÃæÏò¶ÔÏóµÄ¸ÅÄî¡£ÔÚSmalltalkÖУ¬ËùÓÐÔ¤¶¨ÒåÊý¾ÝÀàÐÍ£¬ÀýÈçÕûÐÍ¡¢×Ö·ûÐÍ£¬ÉõÖÁÕû¸öÓïÑԼܹ¹£¨ÀýÈçÑ­»·Ö¸Á¶¼ÊÇÒÔ¶ÔÏó·â×°µÄ¡£ÕâÍêÈ«ÊdzöÓÚ¶Ô´¿ÀíÂÛµÄÐËȤ£¬ÒòΪÕâÑù¼«´óµÄ½µµÍÁ˳ÌÐòµÄÖ´ÐÐЧÂÊ¡£JavaûÓÐ×öµÃÈç´Ë¾ø¶Ô£¬ËüÔÊÐíʹÓô«Í³µÄ£¬·ÇÃæÏò¶ÔÏóµÄÊý¾ÝÀàÐÍ£¨ËäÈ»ËüÌṩÁ˶Դ«Í³ÀàÐ͵ÄÀà·â×°£©¡£


ÆÕͨ¶ÔÏóÄ£ÐÍ vs. ¶ÔÏóÒýÓÃÄ£ÐÍ
OOPÓïÑÔÖ®¼ä´æÔڵĵÚÈý¸öÖ÷ÒªÇø±ðÔÚÓÚËüÃǵĶÔÏóÄ£ÐÍ¡£Ò»Ð©±È½Ï´«Í³µÄOOPÓïÑÔÔÊÐí³ÌÐòÔ±ÔÚÕ»¡¢¶ÑºÍ¾²Ì¬´æ´¢ÇøÖд´½¨¶ÔÏó¡£ÔÚÕâЩÓïÑÔÖУ¬Ò»¸öÀàµÄ±äÁ¿£¨ÊµÀý£©¶ÔÓ¦ÓÚÄÚ´æÖеÄÒ»¸ö¶ÔÏó¡£C++¾ÍÊÇÕâÑù¹¤×÷µÄ¡£
Ö®ºóµÄOOPÓïÑÔÇãÏòÓÚʹÓÃÁíÒ»ÖÖÄ£ÐÍ£¬³ÆΪ¶ÔÏóÒýÓÃÄ£ÐÍ¡£ÔÚÕâ¸öÄ£ÐÍÖУ¬Ã¿¸ö¶ÔÏ󶼶¯Ì¬µÄ´´½¨ÓÚ¶ÑÖУ¬Ò»¸öÀàµÄ±äÁ¿Êµ¼ÊÉÏÊÇÒ»¸öÖ¸ÏòÄÚ´æÖеĶÔÏóµÄÒýÓûò¾ä±ú£¨¼¼ÊõÉÏÀàËÆÓÚÖ¸ÕëµÄijÖÖ¶«Î÷£©¡£JavaºÍObject Pascal¶¼²ÉÓÃÁËÕâÖÖÒýÓÃÄ£ÐÍ¡£ÎÒÃǺܿì¾Í»á¿´µ½£¬²ÉÓÃÕâÖÖÄ£ÐÍÄã±ØÐë¼ÇµÃΪ¶ÔÏó·ÖÅäÄÚ´æ¡£


Àà¡¢¶ÔÏóºÍÒýÓÃ
¡¤ÌØÐÔÃèÊö£ºÔÚ½éÉÜÁËÒÔÉÏÄÚÈݺó£¬ÎÒÃǽøÈë¶ÔOOPÓïÑÔµÄÌÖÂÛ¡£×îºÃµÄÆðµãÊÇÀàºÍ¶ÔÏó¡£ÎÒÏ£Íûÿ¸öÈ˶¼Çå³þµÄÃ÷°×ÕâÁ½¸öÃû´ÊµÄÇø±ð£¬¼òÑÔÖ®£¬Ò»¸öÀàÊÇÒ»ÖÖÊý¾ÝÀàÐÍ£¬¶øÒ»¸ö¶ÔÏóÔòÊÇij¸öÀàµÄʵÀý¡£ÏÖÔÚÎÒÃÇÀ´¿´¿´ÈçºÎÔÚ»ùÓÚ²»Í¬¶ÔÏóÄ£Ð͵ÄOOPÓïÑÔÖÐʹÓöÔÏó¡£
¡¤C++£ºÔÚC++ÖУ¬¼ÙÉèÓÐÒ»¸öÀàMyClass£¬Õâ¸öÀàÓÐÒ»¸ö·½·¨MyMethod£¬ÎÒÃÇ¿ÉÒÔд³öÈçÏ´úÂ룺


MyClass Obj;
Obj.MyMethod;


ÕâÑù¾Í´´½¨ÁËÒ»¸öÃûΪObjµÄMyClassÀࡣͨ³£C++»áÔÚÕ»ÖÐΪÕâ¸ö¶ÔÏó·ÖÅäÄÚ´æ¿Õ¼ä¡£ÏÖÔھͿÉÒÔÏñµÚ¶þÐдúÂëÄÇÑùʹÓöÔÏóÁË¡£


¡¤Java£ºÔÚJavaÖУ¬ÀàËƵÄÓï¾äֻΪָÏò¶ÔÏóµÄ¾ä±ú·ÖÅäÄڴ棬¶ø²»ÊÇΪ¶ÔÏó±¾Éí£º


MyClass Obj;
Obj = new MyClass();
Obj.MyMethod();


ÔÚÄãʹÓöÔÏó֮ǰ£¬±ØÐëʹÓá°new¡±Îª¶ÔÏó·ÖÅäÄÚ´æ¡£µ±È»£¬×îºÃÔÚͬһÌõÓï¾äÖÐÉùÃ÷²¢³õʼ»¯¶ÔÏó£¬ÒÔ±ÜÃâʹÓÃδ±»³õʼ»¯µÄ¶ÔÏó¾ä±ú£º


MyClass Obj = new MyClass();
Obj.MyMethod();


¡¤OP£ºObject Pascal²ÉÓôóÖÂÏàͬµÄ·½·¨£¬µ«ÊDZØÐëÔÚ²»Í¬µÄÓï¾äÖÐÉùÃ÷ºÍ³õʼ»¯¶ÔÏó£º


var
Obj: MyClass;
begin
Obj := MyClass.Create;
Obj.MyMethod;


¡¤×¢Ò⣺ËäÈ»¶ÔÏóÒýÓÃÄ£ÐÍËƺõÐèÒª³ÌÐòԱд¸ü¶àµÄ´úÂ룬µ«ÒªÖªµÀ£¬ÔÚC++Öо­³£ÐèҪʹÓöÔÏóµÄÖ¸ÕëºÍÒýÓã¨ÀýÈçÖ»ÓÐʹÓÃÖ¸Õë»òÒýÓ㬲ÅÄÜ»ñµÃ¶à̬ÐÔÄÜ£©¡£¶øÔÚ¶ÔÏóÒýÓÃÄ£ÐÍÖУ¬Ö¸Õ뱻ĬÈÏʹÓ㬵«È´±»ÇÉÃîµÄÒþ²ØÆðÀ´¡£ÌرðÊÇJavaÖв¢Ã»ÓÐÕýʽµÄÖ¸Õ룬¶øÊÂʵÉÏ£¬Ö¸ÕëÎÞ´¦²»ÔÚ¡£Ö»²»¹ý³ÌÐòÔ±²»ÄÜÖ±½Ó¿ØÖÆÕâЩָÕ룬µ«Ò²Òò´ËËûÃDz»»áËæ»ú·ÃÎÊÄÚ´æµØÖ·£¬´Ó¶øʹ³ÌÐò¸ü¼Ó°²È«¡£


»ØÊÕ
¡¤ÌØÐÔÃèÊö£ºÒ»µ©Äã´´½¨²¢Ê¹ÓÃÁËÒ»¸ö¶ÔÏ󣬾ÍÐèÒªÏú»ÙËü£¬ÒÔ±ÜÃâÀË·ÑÄÚ´æ×ÊÔ´¡£


¡¤C++£ºÔÚC++ÖÐÏú»ÙÒ»¸ö´¢´æÔÚÕ»ÖеĶÔÏóÊÇÊ®·ÖÈÝÒ׵ġ£ÁíÒ»·½Ã棬ҪÏú»Ù¶¯Ì¬´´½¨µÄ¶ÔÏó¾ÍÀ§ÄѶàÁË¡£Óкܶà½â¾ö°ì·¨£¬ÀýÈçÒýÓüÆÊýºÍÖÇÄÜÖ¸Õ룬µ«ÊÇÕâÑùÔö¼ÓÁ˸´Ôӳ̶ȡ£C++³ÌÐòÔ±µÄµÚÒ»Ó¡ÏóÊÇʹÓÃÒýÓöÔÏóÄ£ÐÍÀ´½â¾öÎÊÌâʵÔÚÊÇÌ«ÔãÁË¡£


¡¤Java£º¶ÔÓÚJavaÀ´Ëµ£¬ÕâÊÇСÊÂÒ»×®£¬ÒòΪÐéÄâ»ú»áÔÚºǫ́ÔËÐÐËéƬÊÕ¼¯³ÌÐò¡£ÕâʹµÃ³ÌÐòÔ±ÇáËɲ»ÉÙ¡£µ«ÔÚÁíÒ»·½Ã棬ÕâÒ²Ó°ÏìÁËÓ¦ÓóÌÐòµÄÖ´ÐÐЧÂÊ¡£Èç¹ûûÓбàдÎö¹¹Æ÷£¬¿ÉÄÜ»áÔÚÇå³ý´úÂëÖ´ÐÐʱµ¼ÖÂÒ»¸öÂß¼­´íÎó¡£


¡¤OP£ºÔÚObject PascalÖУ¬Ã»ÓÐÀàËƵÄËéƬÊÕ¼¯»úÖÆ¡£µ«ÊÇDelphi×é¼þÖ§³ÖÒ»ÖÖиÅÄÊôÖ÷¶ÔÏó¡£ÊôÖ÷¶ÔÏ󽫶ÔËùÓÐÏÂÊô×é¼þµÄÏú»Ù¸ºÔð¡£Õâ¾Íʹ¶ÔÏóÏú»Ù±äµÃ¼òµ¥Ã÷ÁË¡£


¶¨ÒåеÄÀà
¡¤ÌØÐÔÃèÊö£ºÎÒÃÇÒѾ­Á˽âÁËÈçºÎ´´½¨ÒÑ´æÔÚµÄÀàµÄʵÀý£¨¶ÔÏ󣩣¬ÎÒÃÇеÄÒéÌâÊÇÀàµÄ¶¨Òå¡£¼òµ¥ËµÀ´£¬Ò»¸öÀàÊÇÒ»¸ö·½·¨µÄ¼¯ºÏ£¬¶ø·½·¨ÊǶ¨Òå

Ê×Ò³ ÉÏÒ»Ò³ 1 2 3 4 5 ÏÂÒ»Ò³ βҳ 1/5/5
¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
ÉÏһƪ£ºDisigenPatternÉè¼Æģʽ ÏÂһƪ£ºÃæÊÔ¾­Àú(20):ǧÏ𻥶¯Ã¨ÆË

×îÐÂÎÄÕÂ

ÈÈÃÅÎÄÕÂ

Hot ÎÄÕÂ

Python

C ÓïÑÔ

C++»ù´¡

´óÊý¾Ý»ù´¡

linux±à³Ì»ù´¡

C/C++ÃæÊÔÌâÄ¿