Pythonã§ã¯ã©ã¹ãåŠã³å§ãããšãå¿ ãç»å Žããã®ããç¶æ¿ãã§ããã¹ãŒããŒã¯ã©ã¹ãšãµãã¯ã©ã¹ã®é¢ä¿ãäœã£ãŠãå ±éã®æ©èœããŸãšããä»çµã¿ã§ãããããšãããå®åã§ã³ãŒããæžããŠãããšããç¶æ¿ã ãã ãšã¡ãã£ãšç¡çããããªâŠããšããå Žé¢ã«å¿ ãã¶ã€ãããŸããããã§æŽ»èºããã®ã ããã¯ã¹ã€ã³ïŒMixinïŒã¯ã©ã¹ ã§ãã
ããã¯ã¹ã€ã³ã䜿ãããªããããã«ãªããšãã³ãŒãã®åå©çšæ§ãäžæ°ã«äžãããããã®ã¯ã©ã¹ã¯ãã®æ©èœãæã£ãŠããããšãããšèŠãŠåããèªã¿ãããèšèšãã§ããããã«ãªããŸããä»åã¯åç»ã®å 容ãå ã«ãããã¯ã¹ã€ã³ã®èãæ¹ããå®è£ äŸã泚æç¹ãŸã§ãäžå¯§ã«ãŸãšããŸãããâš
ããã¯ã¹ã€ã³ã¯ã©ã¹ãšã¯ãããã¯ã©ã¹ã«å¯ŸããŠå€ããæ©èœããæ··ãåããããããã®ã¯ã©ã¹ã®ããšã§ããç¶æ¿ã®ä»çµã¿ã䜿ã£ãŠå®è£ ããŸãããç®çãæ®éã®ç¶æ¿ãšã¯å°ãéããŸãã
ããšãã°ãè«æ±æžã¯ã©ã¹ããããããã®å 容ããã¥ãŒã¯ãŒã§è¡šç€ºããæ©èœã远å ããããšããŸããæ®éã«è«æ±æžã¯ã©ã¹ã®äžã«ã¡ãœãããæžãã°å®çŸã§ããŸãããåãããã¥ãŒã¯ãŒã§è¡šç€ºããåŠçãããæ³šææžã¯ã©ã¹ãã¡ãŒã«ã¯ã©ã¹ã§ã䜿ããããªãããšããããŸããããããããå Žé¢ã§ããã¯ã¹ã€ã³ã®åºçªã§ãã
éåžžã®ã¯ã©ã¹ç¶æ¿ã¯ is-a ã®é¢ä¿ã§è¡šçŸãããŸããäŸãã°ãInteger is a NumericïŒæŽæ°ã¯æ°å€ã§ããïŒãã®ããã«ããµãã¯ã©ã¹ãã¹ãŒããŒã¯ã©ã¹ã®äžçš®ã§ãããšããé¢ä¿ã§ãã
äžæ¹ãããã¯ã¹ã€ã³ã¯ is-a ã®é¢ä¿ãäœãããã§ã¯ãªããã³ãŒãã®åå©çšãç®çã«äœ¿ããŸãããè«æ±æž is a ãã¥ãŒã¯ãŒããšèšããããšéåæããããŸãããããããŸã§âæ©èœãæäŸããã ãã®ã¯ã©ã¹âãç¶æ¿ã«ä¹ããŠäœ¿ãããšããã€ã¡ãŒãžã§ãã
åç»ã§ã¯ãtkinterã®ã¡ãã»ãŒãžããã¯ã¹ããã¥ãŒã¯ãŒã«èŠç«ãŠãViewerMixin ã¯ã©ã¹ãäœãäŸã玹ä»ãããŠããŸãããæµãããã£ãããŸãšãããšæ¬¡ã®ãšããã§ãã
display(data) ã¡ãœãããå®çŸ©ããåãåã£ãããŒã¿ãã¡ãã»ãŒãžããã¯ã¹ã«è¡šç€ºãããViewerMixin ãç¶æ¿ãprintout ã¡ãœããå
ã§ self.display(...) ãåŒã³ãè«æ±æžå
容ã衚瀺ãã€ã€ããªã³ã¿ãŒåºåïŒã®èŠç«ãŠïŒãè¡ããViewerMixin ãç¶æ¿ãsendmail ã¡ãœããã§å®å
ãšæ¬æã衚瀺ãã€ã€ãã¡ãŒã«éä¿¡åŠçïŒã®èŠç«ãŠïŒãå®è¡ãè«æ±æžã¯ã©ã¹ãšã¡ãŒã«ã¯ã©ã¹ã¯ãæ¬æ¥ãŸã£ããç°ãªãæŠå¿µã§ããããã§ãããã¥ãŒã¯ãŒã§è¡šç€ºããããšããå ±éæ©èœã ããåãåºããŠãäž¡æ¹ã«âæ··ã蟌ãâããšãã§ããããããããã¯ã¹ã€ã³ã®åŒ·ã¿ã§ããð¡
ããã¯ã¹ã€ã³ã¯ã©ã¹ã¯è€æ°ç¶æ¿ããŠãåé¡ãããŸãããããšãã°ããã¥ãŒã¯ãŒè¡šç€ºçšããã¯ã¹ã€ã³ããšãé貚æç®çšããã¯ã¹ã€ã³ããå¥ã ã«çšæããäž¡æ¹ãè«æ±æžã¯ã©ã¹ã«ç¶æ¿ãããããšãã£ãäœ¿ãæ¹ãã§ããŸãã
ãããããšãåæ©èœãç¬ç«ããã¯ã©ã¹ã«æŽçãããã®ã§ãã¡ã³ããã³ã¹ããã¹ãããããããªããŸããèšèšçã«ãã¹ãããªããŸãããð§©
ãå ±éã®é¢æ°ãäœãã°ããã®ã§ã¯ïŒããšæã£ãæ¹ããããããããŸãããå®éã颿°ã§å®è£ ããããšãå¯èœã§ãããã¯èšèšã®å¥œã¿ã»ããŒã ã®æ¹é次第ã§ããæ£è§£ã¯ãããŸããã
ãã ãããã¯ã¹ã€ã³ã䜿ããšããã®ã¯ã©ã¹ã¯ââã®æ©èœãæã£ãŠããããšã¯ã©ã¹å®çŸ©ãèŠãã ãã§åãããšããèªã¿ãããã®ã¡ãªããããããŸãããªããžã§ã¯ãããçŽæ¥ obj.display(...) ã®ããã«åŒã³åºããç¹ã䟿å©ã§ãã
ããã¯ã¹ã€ã³ã®ãããªèšèšãã¯ããã¯ã¯ãåç»ãããã°ã ãã§ãªããäœç³»çã«ãŸãšãŸã£ãæžç±ã§åŠã¶ãšäžæ°ã«çè§£ãæ·±ãŸããŸããPythonã®ã¯ã©ã¹èšèšããªããžã§ã¯ãæåããªãã¡ã¯ã¿ãªã³ã°ãšãã£ã飿¥åéãŸã§äžç·ã«æŒãããŠãããšãå®åã§ã®å¿çšåãã°ã³ãšäžãããŸãããð
ã¯ã©ã¹ãç¶æ¿ãç¹æ®ã¡ãœãããŸã§ãäžå¯§ã«è§£èª¬ããå®çªæžããããã¯ã¹ã€ã³ã£ãŠããããã©ãã§äœ¿ãã®ïŒããšããã¢ã€ã¢ã€ãè§£æ¶ã§ããŸãã
ãis-aé¢ä¿ããšãæ©èœã®æäŸããã©ãèšèšã«èœãšã蟌ãããããã¯ã¹ã€ã³ã䜿ãã»äœ¿ããªãã®å€æè»žã身ã«ã€ããŸãã
ãªãã¡ã¯ã¿ãªã³ã°ã®èгç¹ãããå ±éåãã¹ãåŠçããåé¢ãã¹ã責åããåŠã¹ãåèãããã¯ã¹ã€ã³ã䜿ãã¹ãå Žé¢ãçŽæçã«å€æã§ããããã«ãªããŸãã
ã¯ã©ã¹èšèšããã³ã¬ãŒã¿ãã¡ã¿ã¯ã©ã¹ãšãã£ãPythonãããæžãæ¹ãç¶²çŸ ãããã¯ã¹ã€ã³ãå®éã®æ¥åã³ãŒãã§ã©ã䜿ããã®ãã³ããè±å¯ã§ãã
ããã¯ã¹ã€ã³ã¯èšèšãã¿ãŒã³ã®äžçš®ãšããŠæãããšæŽçãããããªããŸãããã䜿ããã¿ãŒã³ãã«ã¿ãã°çã«æŒãããŠãããšãã³ãŒãã¬ãã¥ãŒã§ãèªä¿¡ãæã£ãŠå€æã§ããŸãã
ããããPythonç¬èªã§ã¯ãªãããã°ã©ãã³ã°å šè¬ã«ãããäžè¬çãªæŠå¿µã§ããRubyãScalaãªã©ãä»ã®èšèªã§ãããã¯ã¹ã€ã³ã«çžåœããä»çµã¿ãçšæãããŠãããèãæ¹ã¯å ±éããŠããŸãã
æ®éã®ç¶æ¿ã¯ããµãã¯ã©ã¹ã¯ã¹ãŒããŒã¯ã©ã¹ã®äžçš®ã§ããïŒis-aé¢ä¿ïŒãã衚ããŸããããã¯ã¹ã€ã³ã¯ãããŸã§æ©èœãæäŸããã ãã®ã¯ã©ã¹ã§ãç¶æ¿ã®æ§æãåããŠäœ¿ããã®ã®ãis-aã®é¢ä¿ã«ã¯ãªããŸããã
ååã¯æãããŸãããããã¯ã¹ã€ã³ã¯ãæ©èœã ããæ··ã蟌ããããšãç®çãªã®ã§ãç¶æ ïŒã€ã³ã¹ã¿ã³ã¹å€æ°ïŒã¯ããã¯ã¹ã€ã³ãç¶æ¿ããåŽã®ã¯ã©ã¹ã§ç®¡çããã®ãåºæ¬ã§ããã¯ã©ã¹å€æ°ã¯OKã§ãã
ã¯ããåé¡ãããŸããããããæ©èœããšã«çްããããã¯ã¹ã€ã³ãåããŠãå¿ èŠãªãã®ãçµã¿åãããäœ¿ãæ¹ãæšå¥šãããŸããèªã¿ãããä¿å®ããããã³ãŒãã«ãªããŸãã
æ©èœçã«ã¯ã©ã¡ãã§ãå®çŸã§ããŸããéãã¯ãèšèšã®èŠãæ¹ãã§ããããã¯ã¹ã€ã³ã䜿ããšã¯ã©ã¹å®çŸ©ãèŠãã ãã§ããã®æ©èœãæã£ãŠããããšäžç®ã§åããããªããžã§ã¯ãããçŽæ¥ã¡ãœãããåŒã¹ãå©ç¹ããããŸããããŒã ããããžã§ã¯ãã®ã¹ã¿ã€ã«ã«åãããŠéžã³ãŸãããã
ããã¯ã¹ã€ã³ã¯ã©ã¹ã¯ãç¶æ¿ããæ©èœã®è¿œå ããšããŠæŽ»çšããèšèšãã¯ããã¯ã§ããis-aé¢ä¿ã«çžããããè€æ°ã®ã¯ã©ã¹ã«å ±éã®æ©èœãç°¡æœã«æãããããã®ã§ãã³ãŒãã®åå©çšæ§ãšå¯èªæ§ãã°ããšäžãããŸãã
æåã¯ãæ®éã®ç¶æ¿ãšäœãéãã®ïŒããšæãããããããŸããããå®è£ ãšèšèšã®ãã¿ãŒã³ãæžç±ã§ç¹°ãè¿ãåŠã¶ãã¡ã«ãèªç¶ãšãããã¯ããã¯ã¹ã€ã³ã ãªããšå€æã§ããããã«ãªããŸããä»å玹ä»ããæžç±ãçæã«ããã²ããªãã®ã³ãŒãã«ããã¯ã¹ã€ã³ãåãå ¥ããŠã¿ãŠãã ãããð
â ïž Windowsã»ãã¥ãªã…
ð§ çªç¶ã®æçš¿ã«ãã¡ã³éšç¶ïŒã©…
ð§© ããºã«ãè§£ãå¿«æãã³ãŒãã§…
âš ããã°ã©ã ã®åäœã軜ããã…
ð ãµãŒããŒãµã€ãéçºã®äžçãž…
âš é¢åãªWebäœæ¥ãèªååã…