ÌÔÆøµÄÂó̿ªÆô
ʹÓÃLSP£¬¾ÍÏñ¿ªÆôÁËÒ»¶ÎÌÔÆøµÄÂó̡£Ëü²»µ«ÈÃÎÒÃǵÄÉú»îÔ½·¢¸ßЧ£¬»¹ÈÃÎÒÃÇÔÚÖÇÄÜÉú»îµÄÃÅ·ÉÏÌåÑ鵽ǰËùδÓеıã½Ý¡£ÏëÏóһϣ¬µ±ÄãÔÚÍâ³öÂÃÐÐʱ£¬LSP¿ÉÒÔΪÄã×Ô¶¯µ÷Àí¼ÒÀïµÄµÆ?¹â¡¢Î¶ȣ¬ÉõÖÁ»¹ÄÜÆ¾¾ÝÄãµÄϲºÃ²¥·ÅÒôÀÖ¡£Õâ²»µ«½öÊǿƼ¼µÄ½ø²½£¬¸üÊÇÒ»ÖÖÉú»î·½·¨µÄÉý¼¶¡£
½â¾öÒªÁ죺
×°ÖöàÓïÑÔÀ©Õ¹£ºÈ·±£ÄãµÄ±à?¼Æ÷ÖÐ×°ÖÃÁËÖ§³ÖËùÓÐʹÓõıà³ÌÓïÑÔµÄlspÀ©Õ¹¡£ÕâЩÀ©Õ¹Í¨³£»áÌṩ×î¼ÑµÄ´úÂ벹ȫºÍ¹ýʧÌáʾ¹¦Ð§¡£¼ì²é°æ±¾¼æÈÝÐÔ£º²î±ðÓïÑÔµÄlspЧÀÍÆ÷¿ÉÄÜÓвî±ðµÄ°æ±¾ÒªÇó£¬È·±£ÄãʹÓõÄlspЧÀÍÆ÷°æ±¾?Óë±à¼Æ÷¼æÈÝ¡£ÊÖ¶¯ÅäÖãºÔÚһЩÇé¿öÏ£¬ÊÖ¶¯ÅäÖÃlspЧÀÍÆ÷¿ÉÄÜÊǽâ¾ö¼æÈÝÐÔÎÊÌâµÄ×î¼ÑÒªÁì¡£
¿ÉÒÔÔÚÏîÄ¿¸ùĿ¼Ï´´Á¢.vscodeÎļþ£¬ÊÖ¶¯Ö¸¶¨ËùÐèµÄlspЧÀÍÆ÷¡£
½â¾öÒªÁ죺
Ö§½â´úÂ룺¾¡¿ÉÄܽ«´óÐÍÏîÄ¿»òÕßÅÓ´ó´úÂë²ð·Ö³É¶à¸ö¶ÀÁ¢µÄÄ£¿é»òÕßÎļþ£¬ÕâÑùlsp¹¤¾ß¿ÉÒÔ¸ü¸ßЧµØ½øÐÐË÷ÒýºÍÆÊÎö¡£µ÷½âÅäÖãºÔÚlsp¹¤¾ßµÄÅäÖÃÎļþÖУ¬¿ÉÒÔµ÷½âһЩ²ÎÊýÀ´ÓÅ»¯ÐÔÄÜ£¬ÀýÈç¼õÉÙÎļþµÄ¼ì²éƵÂÊ»òÕ߹رղ»ÐëÒªµÄ¹¦Ð§¡£Ê¹ÓÃÐÔÄÜÓÅ»¯²å¼þ£ºÓÐЩ²å¼þ¿ÉÒÔ×ÊÖúÓÅ»¯lsp¹¤¾ßµÄÐÔÄÜ£¬ÀýÈçÖ»ÔÚ±à¼Ê±½øÐÐÓï·¨¼ì²é¶ø²»ÊÇʵʱ¼ì²é¡£
×ÓÀàÒªÁìÅ׳öÁ˸¸ÀàÒªÁì²»Å׳öµÄÒì³£
¼ÙÉèÓÐÒ»¸ö»ùÀàShape£¬ÆäÖÐÓÐÒ»¸öÒªÁìcalculateArea£¬Õâ¸öÒªÁì²»Å׳öÈκÎÒì³£¡£Ä³¸ö×ÓÀàCircleÁýÕÖÁËÕâ¸öÒªÁ죬²¢ÇÒÔÚÅÌËãÀú³ÌÖÐÅ׳öÁËIllegalArgumentExceptionÒì³£¡£ÕâÑù£¬Ê¹ÓÃcalculateAreaÒªÁìʱ£¬Å²ÓÃCircle¹¤¾ßµÄcalculateAreaÒªÁì¿ÉÄÜ»áÅ׳öÒâÍâµÄÒì³££¬Î¥·´ÁËLSP¡£
ÔÚÈí¼þ¿ª·¢ÖУ¬LSP£¨LiskovSubstitutionPrinciple£¬¼´Àï˹¿Æ·òÌæ»»ÔÔò£©ÊÇÃæÏò¹¤¾ßÉè¼ÆÖеÄÒ»¸öÖØÒªÔÔò¡£ËüÌá³ö£¬ÅÉÉúÀàÓ¦¸ÃÄܹ»ÍêÈ«Ìæ´úÆä»ùÀ࣬¶ø²»Ó°ÏìϵͳµÄÕýÈ·ÐÔ¡£ÔÚʵ¼ÊÓ¦ÓÃÖУ¬ÎÒÃdz£³£»áÓöµ½Ò»Ð©¡°ÌÔÆø¡±µÄÎÊÌ⣬µ¼ÖÂÎÒÃÇÎÞ·¨Ë³ÀûµØÓ¦ÓÃLSP¡£
±¾ÎĽ«Ïêϸ½éÉÜÕâЩ³£¼ûÎÊÌâ¼°Æä½â¾öÒªÁ죬×ÊÖúÄãÔÚʹÓÃLSP¼¼ÊõÊ±ÖÆÖ¹ÞÏÞκÍÄÑÌ⣬ÌáÉýÊÂÇéЧÂÊ£¬Èü¼ÊõÓ¦ÓÃÔ½·¢Ë³³©¡£
½â¾öÒªÁ죺
¼ì²éÅäÖÃÎļþ£ºÈ·±£ÄãµÄÅäÖÃÎļþ·¾¶ÕýÈ·£¬²¢ÇÒÎļþÄÚÈÝÎÞÎ󡣿ÉÒÔʹÓÃÅäÖÃÑéÖ¤¹¤¾ßÀ´¼ì²é?ÅäÖÃÎļþµÄÓï·¨¹ýʧ¡£ÓÅÏȼ¶ÉèÖãºÓÐʱºò£¬È«¾ÖÅäÖúÍÏîÄ¿¼¶ÅäÖÃÖ®¼ä¿ÉÄܻᱬ·¢³åÍ»¡£È·±£ÄãµÄÅäÖÃÎļþÉèÖÃÁËÕýÈ·µÄÓÅÏȼ¶¡£ÇåÀí»º´æ£ºÔÚÐÞ¸ÄÅäÖÃÎļþºó£¬ÊµÑéÇåÀílsp¹¤¾ßµÄ»º´æ£¬È·±£ÐµÄÅäÖÃÄܹ»ÉúЧ¡£
У¶Ô£ººÎÁÁÁÁ(1C0m4pJyqZtPma0S7t9ZFfz4hTykKag)
![lspµãÕâ¸ö[ÌÔÆø]³£¼ûÎÊÌâ¼°½â¾öÒªÁì](https://static-web.stcn.com/static/images/zqsb.png)
![lspµãÕâ¸ö[ÌÔÆø]³£¼ûÎÊÌâ¼°½â¾öÒªÁì](https://static-web.stcn.com/static/images/stcn.png)
![lspµãÕâ¸ö[ÌÔÆø]³£¼ûÎÊÌâ¼°½â¾öÒªÁì](https://static-web.stcn.com/static/images/qr.png)