é¢å对象ç¨åºè®¾è®¡ï¼è±è¯ï¼Object-oriented programmingï¼ç¼©åï¼OOPï¼ï¼æä¸ç§ç¨åºè®¾è®¡èåï¼åæ¶ä¹æ¯ä¸ç§ç¨åºå¼åçæ¹æ³ãå®å°å¯¹è±¡ä½ä¸ºç¨åºçåºæ¬åå
ï¼å°ç¨åºåæ°æ®å°è£
å
¶ä¸ï¼ä»¥æé«è½¯ä»¶çéç¨æ§ãçµæ´»æ§åæ©å±æ§ã[1]å½æ们æå°é¢å对象çæ¶åï¼å®ä¸ä»
æä¸ç§ç¨åºè®¾è®¡æ¹æ³ãå®æ´å¤æä¹ä¸æ¯ä¸ç§ç¨åºå¼åæ¹å¼ãå¨è¿ä¸æ¹é¢ï¼æ们å¿
é¡»äºè§£æ´å¤å
³äºé¢å对象系ç»åæåé¢å对象设计ï¼Object Oriented Designï¼ç®ç§°OODï¼æ¹é¢çç¥è¯ãåºæ¬ç论ä¸é¡¹ç± Deborah J. Armstrong è¿è¡çé¿è¾¾40å¹´ä¹ä¹
ç计ç®æºèä½è°æ¥æ¾ç¤ºåºäºä¸ç³»åé¢å对象ç¨åºè®¾è®¡çåºæ¬ç论ãå®ä»¬æ¯ï¼ 类类ï¼Classï¼å®ä¹äºä¸ä»¶äºç©çæ½è±¡ç¹ç¹ãé常æ¥è¯´ï¼ç±»å®ä¹äºäºç©çå±æ§åå®å¯ä»¥åå°çï¼å®çè¡ä¸ºï¼ã举ä¾æ¥è¯´ï¼âçâè¿ä¸ªç±»ä¼å
å«ççä¸ååºç¡ç¹å¾ï¼ä¾å¦å®çåè²ãæ¯ç®é¢è²åå å«çè½åãç±»å¯ä»¥ä¸ºç¨åºæä¾æ¨¡çåç»æãä¸ä¸ªç±»çæ¹æ³åå±æ§è¢«ç§°ä¸ºâæåâã æ们æ¥çä¸æ®µä¼ªä»£ç ï¼ç±» çå¼å§ ç§ææå: åè²: æ¯ç®é¢è²: å
¬ææå: å å«():ç»æå¨è¿ä¸²ä»£ç ä¸ï¼æ们声æäºä¸ä¸ªç±»ï¼è¿ä¸ªç±»å
·æä¸äºççåºæ¬ç¹å¾ãå
³äºå
¬ææååç§ææåï¼è¯·åè§ä¸é¢ç继æ¿æ§ä¸èã 对象对象ï¼Objectï¼æ¯ç±»çå®ä¾ãä¾å¦ï¼âçâè¿ä¸ªç±»å举ççç¹ç¹ï¼ä»è使è¿ä¸ªç±»å®ä¹äºä¸çä¸ææççãèè±ä¸è¿ä¸ªå¯¹è±¡åæ¯ä¸æ¡å
·ä½ççï¼å®çå±æ§ä¹æ¯å
·ä½çãçæç®æ¯é¢è²ï¼èè±ä¸çç®æ¯é¢è²æ¯æ£ç½è²çãå æ¤ï¼è±ä¸å°±æ¯çè¿ä¸ªç±»çä¸ä¸ªå®ä¾ãä¸ä¸ªå
·ä½å¯¹è±¡å±æ§çå¼è¢«ç§°ä½å®çâç¶æâãï¼ç³»ç»ç»å¯¹è±¡åé
å
å空é´ï¼èä¸ä¼ç»ç±»åé
å
å空é´ï¼è¿å¾å¥½ç解ï¼ç±»æ¯æ½è±¡çç³»ç»ä¸å¯è½ç»æ½è±¡çä¸è¥¿åé
空é´ï¼å¯¹è±¡æ¯å
·ä½çï¼å设æ们已ç»å¨ä¸é¢å®ä¹äºçè¿ä¸ªç±»ï¼æ们就å¯ä»¥ç¨è¿ä¸ªç±»æ¥å®ä¹å¯¹è±¡ï¼å®ä¹è±ä¸æ¯çè±ä¸.æ¯ç®é¢è²:=æ£ç½è²è±ä¸.å å«()æ们æ æ³è®©çè¿ä¸ªç±»å»å å«ï¼ä½æ¯æ们å¯ä»¥è®©å¯¹è±¡âè±ä¸âå»å å«ï¼æ£å¦çå¯ä»¥å å«ï¼ä½æ²¡æå
·ä½ççå°±æ æ³å å«ã æ¹æ³ï¼ç§©åºï¼æ¡ä¾ï¼æ¹æ³ï¼Methodï¼æ¯å®ä¹ä¸ä¸ªç±»å¯ä»¥åçï¼ä½ä¸ä¸å®ä¼å»åçäºãä½ä¸ºä¸æ¡çï¼è±ä¸æ¯ä¼å å«çï¼å æ¤âå å«()âå°±æ¯å®çä¸ä¸ªæ¹æ³ãä¸æ¤åæ¶ï¼å®å¯è½è¿ä¼æå
¶å®æ¹æ³ï¼ä¾å¦âåä¸()âï¼æè
âå()âã 对ä¸ä¸ªå
·ä½å¯¹è±¡çæ¹æ³è¿è¡è°ç¨å¹¶ä¸å½±åå
¶å®å¯¹è±¡ï¼æ£å¦ææççé½ä¼å«ï¼ä½æ¯ä½ 让ä¸æ¡çå«ä¸ä»£è¡¨ææççé½å«ã å¦ä¸ä¾ï¼å®ä¹è±ä¸æ¯çå®ä¹æ³°å°æ¯çè±ä¸.å å«()åæ³°å°æ¯ä¼å å«ä½æ²¡æå å«çï¼å 为è¿éçå å«åªæ¯å¯¹å¯¹è±¡âè±ä¸âè¿è¡çã æ¶æ¯ä¼ éæºå¶ä¸ä¸ªå¯¹è±¡éè¿æ¥åæ¶æ¯ãå¤çæ¶æ¯ãä¼ åºæ¶æ¯æ使ç¨å
¶ä»ç±»çæ¹æ³æ¥å®ç°ä¸å®åè½ï¼è¿å«åæ¶æ¯ä¼ éæºå¶ï¼Message Passingï¼ã 继æ¿æ§ç»§æ¿æ§ï¼Inheritanceï¼æ¯æï¼å¨æç§æ
åµä¸ï¼ä¸ä¸ªç±»ä¼æâåç±»âãåç±»æ¯åæ¬çç±»ï¼ç§°ä¸ºç¶ç±»ï¼è¦æ´å å
·ä½åï¼ä¾å¦ï¼âçâè¿ä¸ªç±»å¯è½ä¼æå®çåç±»âç§ç¾ç¬âåâåå¨å¨ç¬âãå¨è¿ç§æ
åµä¸ï¼âè±ä¸âå¯è½å°±æ¯ç§ç¾ç¬çä¸ä¸ªå®ä¾ãåç±»ä¼ç»§æ¿ç¶ç±»çå±æ§åè¡ä¸ºï¼å¹¶ä¸ä¹å¯å
å«å®ä»¬èªå·±çãæ们å设âçâè¿ä¸ªç±»æä¸ä¸ªæ¹æ³å«åâå å«()âåä¸ä¸ªå±æ§å«åâæ¯ç®é¢è²âãå®çåç±»ï¼åä¾ä¸çç§ç¾ç¬ååå¨å¨ç¬ï¼ä¼ç»§æ¿è¿äºæåãè¿æå³çç¨åºååªéè¦å°ç¸åç代ç åä¸æ¬¡ã å¨ä¼ªä»£ç ä¸æ们å¯ä»¥è¿æ ·åï¼ç±»ç§ç¾ç¬:继æ¿çå®ä¹è±ä¸æ¯ç§ç¾ç¬è±ä¸.å å«() /* 注æè¿éè°ç¨çæ¯çè¿ä¸ªç±»çå å«æ¹æ³ã */åå°åé¢çä¾åï¼âç§ç¾ç¬âè¿ä¸ªç±»å¯ä»¥ç»§æ¿âæ¯ç®é¢è²âè¿ä¸ªå±æ§ï¼å¹¶æå®å
¶ä¸ºæ£ç½è²ãèâåå¨å¨ç¬âåå¯ä»¥ç»§æ¿âå å«()âè¿ä¸ªæ¹æ³ï¼å¹¶æå®å®çé³è°é«äºå¹³å¸¸ãåç±»ä¹å¯ä»¥å å
¥æ°çæåï¼ä¾å¦ï¼âåå¨å¨ç¬âè¿ä¸ªç±»å¯ä»¥å å
¥ä¸ä¸ªæ¹æ³å«åâ颤æ()âã设è¥ç¨âç§ç¾ç¬âè¿ä¸ªç±»å®ä¹äºä¸ä¸ªå®ä¾âè±ä¸âï¼é£ä¹è±ä¸å°±ä¸ä¼é¢¤æï¼å 为è¿ä¸ªæ¹æ³æ¯å±äºåå¨å¨ç¬çï¼èéç§ç¾ç¬ãäºå®ä¸ï¼æ们å¯ä»¥æ继æ¿ç解为âæ¯âãä¾å¦ï¼è±ä¸âæ¯âç§ç¾ç¬ï¼ç§ç¾ç¬âæ¯âçãå æ¤ï¼è±ä¸æ¢ç»§æ¿äºç§ç¾ç¬çå±æ§ï¼å继æ¿äºççå±æ§ã æ们æ¥ç伪代ç ï¼ç±»åå¨å¨ç¬:继æ¿çå¼å§ å
¬ææå: 颤æ()ç»æç±»ç§ç¾ç¬:继æ¿çå®ä¹è±ä¸æ¯ç§ç¾ç¬è±ä¸.颤æ() /* é误ï¼é¢¤ææ¯åå¨å¨ç¬çæåæ¹æ³ã */å½ä¸ä¸ªç±»ä»å¤ä¸ªç¶ç±»ç»§æ¿æ¶ï¼æ们称ä¹ä¸ºâå¤é继æ¿âãå¤é继æ¿å¹¶ä¸æ»æ¯è¢«æ¯æçï¼å 为å®å¾é¾ç解ï¼åå¾é¾è¢«å¥½å¥½ä½¿ç¨ã å°è£
æ§å
·å¤å°è£
æ§ï¼Encapsulationï¼çé¢å对象ç¨åºè®¾è®¡éèäºæä¸æ¹æ³çå
·ä½æ§è¡æ¥éª¤ï¼åè代ä¹çæ¯éè¿æ¶æ¯ä¼ éæºå¶ä¼ éæ¶æ¯ç»å®ãå æ¤ï¼ä¸¾ä¾æ¥è¯´ï¼âçâè¿ä¸ªç±»æâå å«()âçæ¹æ³ï¼è¿ä¸æ¹æ³å®ä¹äºçå
·ä½è¯¥éè¿ä»ä¹æ¹æ³å å«ãä½æ¯ï¼è±ä¸çæåè米并ä¸éè¦ç¥éå®å°åºå¦ä½å å«ã ä»å®ä¾æ¥çï¼/* ä¸ä¸ªé¢åè¿ç¨çç¨åºä¼è¿æ ·åï¼ */å®ä¹è±ä¸è±ä¸.设置é³è°(5)è±ä¸.å¸æ°()è±ä¸.åæ°()/* èå½ççå å«è¢«å°è£
å°ç±»ä¸ï¼ä»»ä½äººé½å¯ä»¥ç®åå°ä½¿ç¨ï¼ */å®ä¹è±ä¸æ¯çè±ä¸.å å«()å°è£
æ¯éè¿éå¶åªæç¹å®ç±»çå®ä¾å¯ä»¥è®¿é®è¿ä¸ç¹å®ç±»çæåï¼èå®ä»¬é常å©ç¨æ¥å£å®ç°æ¶æ¯çä¼ å
¥ä¼ åºã举个ä¾åï¼æ¥å£è½ç¡®ä¿å¹¼ç¬è¿ä¸ç¹å¾åªè½è¢«èµäºçè¿ä¸ç±»ãé常æ¥è¯´ï¼æåä¼ä¾å®ä»¬ç访é®æé被å为3ç§ï¼å
¬ææåãç§ææå以åä¿æ¤æåãæäºè¯è¨æ´è¿ä¸æ¥ï¼Javaå¯ä»¥éå¶åä¸å
å
ä¸åç±»ç访é®ï¼C#åVB.NETä¿çäºä¸ºç±»çæåèéåå¤çå
³é®åï¼internalï¼C#ï¼åFriendï¼VB.NETï¼ï¼Eiffelè¯è¨åå¯ä»¥è®©ç¨æ·æå®åªä¸ªç±»å¯ä»¥è®¿é®æææåã å¤ææ§å¤ææ§ï¼Polymorphismï¼æ¯æç±ç»§æ¿è产ççç¸å
³çä¸åçç±»ï¼å
¶å¯¹è±¡å¯¹åä¸æ¶æ¯ä¼ååºä¸åçååºã[2]举ä¾æ¥è¯´ï¼çå鸡é½æâå«()âè¿ä¸æ¹æ³ï¼ä½æ¯è°ç¨ççâå«()âï¼çä¼å å«ï¼è°ç¨é¸¡çâå«()âï¼é¸¡åä¼å¼å«ã æ们å°å®ä½ç°å¨ä¼ªä»£ç ä¸ï¼ç±»çå¼å§ å
¬ææå: å«() å¼å§ å å«() ç»æç»æ类鸡å¼å§ å
¬ææå: å«() å¼å§ å¼å«() ç»æç»æå®ä¹è±ä¸æ¯çå®ä¹é²æ¯ç¹æ¯é¸¡è±ä¸.å«()é²æ¯ç¹.å«()è¿æ ·ï¼åæ ·æ¯å«ï¼è±ä¸åé²æ¯ç¹ååºçååºå°å¤§ä¸ç¸åãå¤ææ§çæ¦å¿µå¯ä»¥ç¨å¨è¿ç®ç¬¦éè½½ä¸ï¼æ¬æä¸åèµè¿°ã æ½è±¡æ§æ½è±¡(Abstraction)æ¯ç®åå¤æçç°å®é®é¢çéå¾ï¼å®å¯ä»¥ä¸ºå
·ä½é®é¢æ¾å°ææ°å½çç±»å®ä¹ï¼å¹¶ä¸å¯ä»¥å¨ææ°å½ç继æ¿çº§å«è§£éé®é¢ã举ä¾è¯´æï¼è±ä¸å¨å¤§å¤æ°æ¶åé½è¢«å½ä½ä¸æ¡çï¼ä½æ¯å¦ææ³è¦è®©å®åç§ç¾ç¬åçäºï¼ä½ å®å
¨å¯ä»¥è°ç¨ç§ç¾ç¬çæ¹æ³ãå¦æçè¿ä¸ªç±»è¿æå¨ç©çç¶ç±»ï¼é£ä¹ä½ å®å
¨å¯ä»¥è§è±ä¸ä¸ºä¸ä¸ªå¨ç©ã
温馨提示:答案为网友推荐,仅供参考