æã家ã®OOPã®ç ä¿®
ããã°ã©ãã³ã°ã¨OOP ãã©ãæãããã£ã¦é£ããã§ããããåä½çºçã¯ç³»çµ±çºçãç¹°ãè¿ããå¼ãããã®ã§ãããå¿æ ã¨ãã¦ã¯æåãã OOP ãæãããã¨ããã§ããã§ãä»ã®ç§ã«ã¯ã¡ãã£ã¨åã¦ãã¤ã¡ã¼ã¸ããããªãããªã
ãã¦ããã¨ãã¨ã¯ Cããªããªãªã¦ãã®ãã¼ã ã C++ ã«éæ¿ãããã¨ãã«ã¡ã³ãåãã«ä½ã£ãç ä¿®ãããã¾ãã¦ãããããã¤ã®éã«ããæ¯å¹´æä¾ã®è¬ç¾©ã«ãªã£ã¦ãã¾ãã¾ãããä»æ¥ã¯ã¡ãã£ã¨ããããç´¹ä»ãã¿ã¼ã²ãã㯠ãããã°ã©ã ã¯ã§ãããã© OOP ã¯è§£ããªã人ãã§ãç§ä»¥éã®æ°äººã¨ã2å¹´ç®åãã¿ã¼ã²ããã§ãã
ä»äºã¯ Python ãããªãã®ã§ãããç ä¿®èªä½ã®ã¡ã¤ã³ã®è¨èªã¯ Python ã使ã£ã¦ã¾ããçç±ã¯
- ææ³ãç´ ç´
- Pythonã®ããã¥ã¡ã³ãï¼æ¨æºã§ã¤ãã¦ãããã¤ï¼ãè¯ãã§ãã¦ãã
- 対話åã¤ã³ã¿ããªã¿ãããã¨è©±ãæ©ã*1
- ç¶æ¿ãæããªãã§ããªã¢ã¼ãã£ãºã ã®è©±ãé²ããããï¼âãããã®è¶£å³ï¼
- ããããPythonã好ãï¼ï¼ã
ã£ã¦ãã³ãã§ãã
å 容ã¨ãã¦ã¯ãè¯ãããã°ã©ã ã¨ã¯ä½ãã¨æ½è±¡åã®è©±ãããåºæ¬çãªOOPLã®æ©è½èª¬æãã«ã¢ããã·æ¬ã® 8ã¯ã¤ã¼ã³ããã£ã¦ãObserver ãã¿ã¼ã³ãå°åºãã¦ãªã·ãã¤ã¨ãããæ軽ãªãã®ã§ãã
8ã¯ã¤ã¼ã³ã¯ãã¾ã宿é¡ã§èªåã§ã¨ããã¦ãããã«ã¢ããã·æ¬ãªè§£æ³ã®æ¦è¦ãç´¹ä»ãã¦ãCRCã«ã¼ãã§ãã¼ã«ãã¬ã¤ãã§ãæã¡å¸°ã£ã¦åå®è£ ããã¾ããCRCã«ã¼ãã§ãã¼ã«ãã¬ã¤ããã®ã¯ããªãã¸ã§ã¯ãéã«è²¬åãåæ£ããæ§åã¨ãã¢ã³ãã¯ã©ã¹æåã®æ½çã¨ãã¦ãåãã¯ã©ã¹ãªã®ã«è¤æ°ã®ãªãã¸ã§ã¯ãéã§ç¢ºãã«è²¬åãåæ ãã¦ãæ§ãå®æããããã¨ããä¸å¿ãã¤ãã§ã«ãæå¾ã®ãæã¡å¸°ã宿é¡ã§ãä¸çªç«¯ã®ã¯ã¤ã¼ã³ãã©ããããã®è§£ãçå¾ã§ã°ãã°ãã«ãªãã®ã§ãä¸ã¤ã®è§£ã¨ã㦠SentinelQueen(NullObject)ãç½®ãç©ãç´¹ä»ï¼ããæ°ãªãããªã¢ã¼ãã£ãºã ãå°è±¡ã¥ããå§æ¯ãªãããï¼
Observerãã¿ã¼ã³ã¯ãVBã¨ã使ã£ã¦ãªã«ãç¥ããªãã§ä½ãã¨åºæ¥ã¡ãããã³ã³ããã¼ã©ãé å¼µã GUIåæ表示æ´æ°ããï¼å®¿é¡ã§ä½ãããã¨ã ããããããªæãã§åºãã¦ããï¼ãOpen-Closeã®åå ã«æ²¿ãããã«æ¹è¯ãã¦ããã¨ãèªç¶ã« Observerãã¿ã¼ã³ãç»å ´ããã»ã»ã»ã£ã¦æãã§ã詳ããã¯ãã¡ãã®ã¨ã³ããªãã°ãï¼â概念としてのインターフェイス - みねこあï¼
ã§ãæå¾ã«ãã¶ã¤ã³ãã¿ã¼ã³ã®åå¨èªä½ãç´¹ä»ãã¦ããã£ã¨åå¼·ãããã㯠ãªã©ã¤ãªã¼ã® HeadFirstãã¶ã¤ã³ãã¿ã¼ã³ ã§ç¬ç¿ãã¦ããã¨çå¾ã«ä¸¸æããã¦çµäºã§ããï¼ææãã ãªãï¼
*1:主ã«ãçå¾ï¼ââã£ã¦ã§ãã¾ããï¼ããç§ï¼ãã£ã¦ã¿ã¼ã