
3åéããã°ã©ãã³ã°è¬åº§ 第7å:ãªããžã§ã¯ãæåã®äžå€§èŠçŽ ç·åŸ©ç¿ïŒïœå šäœåãšç¹ãããçè§£ãããïœ
ç»å Žäººç©ïŒ
ãã£ããå çïŒéç§°:å çïŒïŒ ãªããžã§ã¯ãæåãã¹ã¿ãŒãæ®æ®µã¯åªãããããŸã«ãŠãŒã¢ã¢ã亀ããªãã解説ã
ããã婿ïŒéç§°:ãããåïŒïŒ ããã°ã©ãã³ã°ãå§ããã°ããã®è¥æãçŽ æŽãªçåãæããããã®ãåŸæã
ãããåïŒ å çïŒã€ãã«ãªããžã§ã¯ãæåã®äžå€§èŠçŽ ãå šéšåŠã³ãŸããïŒã«ãã»ã«åãç¶æ¿ãããªã¢ãŒãã£ãºã ïŒããããã¯ãªããšãªãåãã£ããã§ããã©ãããããã©ãç¹ãã£ãŠããã®ãããŸã ãã¯ããšããæãã§ãâŠâŠã
å çïŒ ãããããããåïŒå€§äžå€«ããããæ®éã ããäžã€äžã€ã®æŠå¿µãçè§£ããããæ¬¡ã¯ããããã©ã飿ºããŠãããè¯ãããã°ã©ã ãäœãã®ãããã®ãå šäœåããæŽãããšã倧åãªãã ã仿¥ã¯ãäžå€§èŠçŽ ã®ç¹ããããã£ãã確èªããŠããªããžã§ã¯ãæåã®é åãå確èªãããïŒ
ãªããžã§ã¯ãæåã®äžå€§èŠçŽ ãããããïŒ
å
çïŒ ãŸãã¯ãããããã®èŠçŽ ãã©ããªåœ¹å²ãæã£ãŠããããç°¡åã«æãåºããŠã¿ããã
1. ã«ãã»ã«åïŒEncapsulationïŒ
å çïŒ ã«ãã»ã«åã¯ãã¯ã©ã¹ã®ãå éšããé ããŠãå€éšããã¯æ±ºããããæ¹æ³ïŒã¡ãœããïŒã§ããã¢ã¯ã»ã¹ã§ããªãããã«ããããšã ã£ããã
ãããåïŒ ã¯ãïŒãèŠããããªããã®ã¯é ãããæäœã¯çªå£ãéããã£ãŠã€ã¡ãŒãžã§ããïŒprivateã§é ããŠãpublicãªgetterãsetterã§ããåããããã§ãããã
å çïŒ ãã®éãïŒ
ç®ç: ããŒã¿ã®äžæ£ãªå€æŽãé²ããã¯ã©ã¹ã®å éšå®è£ ã«äŸåããªãããã«ããã
ã¡ãªãã:
ããŒã¿ã®ä¿è·: å€éšããã®çŽæ¥çãªå€æŽãé²ããæŽåæ§ãä¿ã€ã
ä¿å®æ§ã®åäž: å éšå®è£ ã倿ŽããŠããå€éšã«åœ±é¿ãäžãã«ããã
åå©çšæ§ã®åäž: ã¯ã©ã¹ãç¬ç«ãããããªããããä»ã®å Žæã§ã䜿ãããããªãã
2. ç¶æ¿ïŒInheritanceïŒ
å çïŒ ç¶æ¿ã¯ãæ¢åã®ã¯ã©ã¹ïŒèŠªã¯ã©ã¹ïŒã®æ§è³ªãæ°ããã¯ã©ã¹ïŒåã¯ã©ã¹ïŒãåãç¶ãä»çµã¿ã ã£ããã
ãããåïŒ ãå ±éã®èšèšå³ããæ°ããèšèšå³ãäœããã£ãŠãã€ã§ããïŒextendsã䜿ã£ãŠã芪ã®å±æ§ãã¡ãœãããåãç¶ãã§ãåç¬èªã®æ©èœã远å ãããã§ããïŒ
å çïŒ ãã®éãïŒ
ç®ç: ã³ãŒãã®éè€ãæžãããã¯ã©ã¹éã®ãis-aïŒïœã®äžçš®ã§ããïŒãé¢ä¿ã衚çŸããã
ã¡ãªãã:
ã³ãŒãã®åå©çšæ§: å ±ééšåãäœåºŠãæžããã«æžãã
ä¿å®æ§ã»ç®¡çæ§ã®åäž: 芪ã¯ã©ã¹ã®ä¿®æ£ãåã¯ã©ã¹ã«åæ ãããã
æ¡åŒµæ§: æ¢åã³ãŒããå£ããæ©èœã远å ã§ããã
æ§é å: ã¯ã©ã¹éã®é¢ä¿ãæç¢ºã«ããããã°ã©ã å šäœã®æ§é ãåãããããããã
泚æç¹: Javaã§ã¯åäžç¶æ¿ãprivateã¡ã³ããŒã¯ç¶æ¿ãããªããis-aé¢ä¿ã®é©åãªå€æãéèŠã
3. ããªã¢ãŒãã£ãºã ïŒPolymorphismïŒ
å çïŒ ãããŠãæåŸã«åŠãã ã®ãããªã¢ãŒãã£ãºã ãããã¯ã倿§ãªåœ¢ãæã€ãã®ããåãããã«æ±ãããšããæŠå¿µã ã£ããã
ãããåïŒ ãå€èº«ãããããã®äŸããããåãããããã£ãã§ãïŒAnimalåã®å€æ°ã«DogãCatãå ¥ããŠããmakeSound()ã£ãŠåãã¡ãœãããåŒã¹ã°ãããããã®åç©ãèªåããã鳎ããã§ããïŒ
å çïŒ ãã®éãïŒ
ç®ç: ç°ãªãçš®é¡ã®ãªããžã§ã¯ããçµ±äžçã«æ±ããæè»ã§æ¡åŒµæ§ã®é«ãããã°ã©ã ãäœãã
ã¡ãªãã:
ã³ãŒãã®ã·ã³ãã«åãšæè»æ§: ç°ãªããªããžã§ã¯ããåãã³ãŒãã§æ±ããã
æ¡åŒµæ§ã®åäž: æ°ããåã¯ã©ã¹ã远å ããŠãæ¢åã³ãŒãã®å€æŽãäžèŠã
ä¿å®æ§ã®åäž: 倿Žã®åœ±é¿ç¯å²ãéå®ã§ããã
å¯èªæ§ã®åäž: ããæ±çšçã§åãããããã³ãŒãã«ãªãã
åå®å šæ§ã®åäž: ã³ã³ãã€ã«æãšã©ãŒã®æžå°ã
å®çŸæ¹æ³: äž»ã«ç¶æ¿ãšã¡ãœããã®ãªãŒããŒã©ã€ãã«ãã£ãŠå®çŸãããã芪ã¯ã©ã¹ã®åã§åã¯ã©ã¹ã®ãªããžã§ã¯ããæ±ããã¢ãããã£ã¹ãããšãå®è¡æã«é©åãªã¡ãœãããåŒã³åºããããåçãã€ã³ãã£ã³ã°ãããã€ã³ãã
äžå€§èŠçŽ ã®ç¹ããïœãªãããããéèŠãªã®ãïœ
å çïŒ ããŠãããããã®èŠçŽ ãæ¯ãè¿ã£ããšããã§ãããããã©ãçµã¿åããã£ãŠãªããžã§ã¯ãæåã®åãçºæ®ããã®ããèããŠã¿ããã
ãããåïŒ ããŒãâŠâŠãç¶æ¿ã§å ±ééšåãäœã£ãŠãã«ãã»ã«åã§å®å šã«ããŠãããªã¢ãŒãã£ãºã ã§ãŸãšããŠæ±ãããã¿ãããªæãã§ããïŒ
å çïŒ ãã®æèŠããšãŠãè¯ããïŒãŸãã«ãã®éãã ã
ã«ãã»ã«åãåå°ãäœã:
ãŸããåã¯ã©ã¹ãèªåã®ããŒã¿ãå®å šã«ç®¡çããå€éšãšã®ããåããæç¢ºã«ããïŒã«ãã»ã«åïŒãããã«ãããã¯ã©ã¹ããèªç«ããéšåããšããŠæ©èœããããã«ãªãã
ç¶æ¿ã§å ±ééšåãå¹çå:
次ã«ãå ±éã®æ¯ãèãã屿§ãæã€ã¯ã©ã¹ãã芪ã¯ã©ã¹ãšããŠå®çŸ©ããåã¯ã©ã¹ãããããç¶æ¿ããããããã«ãããã³ãŒãã®éè€ãæžããå¹ççã«æ°ããã¯ã©ã¹ãäœããããã«ãªãã
ããªã¢ãŒãã£ãºã ã§æè»æ§ãé«ãã:
ãããŠãç¶æ¿ã«ãã£ãŠçãŸãããis-aé¢ä¿ããæã€è€æ°ã®åã¯ã©ã¹ãã芪ã¯ã©ã¹ã®åãšããŠãããªã¢ãŒãã£ãºã ãã«ãã£ãŠçµ±äžçã«æ±ããããã«ãããåã ã®å ·äœçãªã¯ã©ã¹ãæèããããšãªããæ±çšçãªã³ãŒãã§æ§ã ãªãªããžã§ã¯ããæäœã§ããããã«ãªããã ã
å çïŒ äŸãã°ãåç©åã®ããã°ã©ã ãèããŠã¿ãŠãããã
ã«ãã»ã«å: ååç©ïŒç¬ãç«ãé³¥ïŒããèªåã®ååã鳎ã声ãšãã£ãæ å ±ãå®å šã«ç®¡çããŠããã
ç¶æ¿: ãã¹ãŠã®åç©ããAnimalããšãã芪ã¯ã©ã¹ããã鳎ãããšããå ±éã®èœåãç¶æ¿ããŠããã
ããªã¢ãŒãã£ãºã : åç©åã®é£Œè²å¡ããå šãŠã®åç©ã«é³ŽããŠãããããšããæç€ºãåºããšããäžå¹ãã€ãç¬ã«ã¯ã³ãšèšãããããç«ã«ãã£ãŒãšèšãããããšæžããªããŠãããAnimalåã®ãªã¹ããã«å¯ŸããŠã鳎ãããšæç€ºããã ãã§ãããããã®åç©ãèªåããã鳎ããŠãããã
ãããåïŒ ãªãã»ã©ïŒã«ãã»ã«åã§éšåããã£ããäœã£ãŠãç¶æ¿ã§éšåã®çš®é¡ãå¢ãããŠãããªã¢ãŒãã£ãºã ã§éšåããŸãšããŠäŸ¿å©ã«äœ¿ãïŒã£ãŠããšã§ããïŒ
å çïŒ ãã®ã€ã¡ãŒãžã§ããããªã ïŒãããäžã€ã®èŠçŽ ã飿ºããããšã§ãããã°ã©ã ã¯ããæè»ïŒFlexibleïŒã«ãªããæ¡åŒµïŒExtensibleïŒãããããªãããããŠä¿å®ïŒMaintainableïŒãããããªããã ã
仿¥ã®ãŸãšãïŒ
ãªããžã§ã¯ãæåã®äžå€§èŠçŽ ã¯çžäºã«é£æºããïŒ
ã«ãã»ã«å: ã¯ã©ã¹ãèªç«ããå®å šãªéšåã«ããåå°ã
ç¶æ¿: å ±ééšåãå¹çåããã¯ã©ã¹éã®ãis-aãé¢ä¿ãç¯ãã
ããªã¢ãŒãã£ãºã : ç¶æ¿ãããã¯ã©ã¹ãçµ±äžçã«æ±ããããã°ã©ã ã«æè»æ§ãšæ¡åŒµæ§ãããããã
ãããã®çµã¿åããã«ãããæè»æ§ãæ¡åŒµæ§ãä¿å®æ§ã®é«ãããã°ã©ã ãå®çŸã§ããã
ãªããžã§ã¯ãæåã®èãæ¹ããã¹ã¿ãŒããããšã§ãå€åã«åŒ·ããçè§£ããããã³ãŒããæžãåã身ã«ã€ãã
ãããåïŒ å çã仿¥ã¯äžå€§èŠçŽ ã®ç¹ããããããããåãããŸããïŒãã©ãã©ã ã£ãããºã«ããå šéšç¹ãã£ãŠäžã€ã®çµµã«ãªã£ãã¿ããã§ãïŒããã§ããã£ãšèªä¿¡ãæã£ãŠããã°ã©ãã³ã°ã«åãçµãããã§ãïŒ
å
çïŒ ãã®èª¿åã ããããåïŒãªããžã§ã¯ãæåã®èãæ¹ã¯ãäžåºŠèº«ã«ã€ãã°ã©ããªããã°ã©ãã³ã°èšèªã䜿ãäžã§ã匷åãªæŠåšã«ãªãããããããããã®åºç€ãå¿ããã«ãè²ã
ãªããã°ã©ã ãæžããŠã¿ãŠã»ããã
次åããã¯ãåãåŠãã åã
ã®ã¯ã©ã¹ããªããžã§ã¯ããããããŒã ãã®ããã«ååãåããè€éãªæ©èœãæã€ã·ã¹ãã ãäœãäžããŠããããã®ã飿ºãã«ã€ããŠãããã«æ·±ãæ¢æ±ããŠãããïŒ
ãããåïŒ ã¯ã©ã¹ãããŒã ã«ïŒãŸããŸãé¢çœããã§ãïŒæ¬¡ã®ã¹ããããæ¬åœã«æ¥œãã¿ã§ãïŒå çã仿¥ãããããšãããããŸããïŒãããããé 匵ããŸãïŒ
次åïŒç¬¬8å:ã¯ã©ã¹ã¯ãããŒã ãã§åãïŒïœãªããžã§ã¯ãéã®é£æºïŒé¢é£ã»éçŽã»ã³ã³ããžã·ã§ã³ïŒïœ
#ãªããžã§ã¯ãæå #ããã°ã©ãã³ã°åå¿è #Java #ã¯ã©ã¹ãšã¡ãœãã #ããã°ã©ãã³ã°åŠç¿ #å ¥é