
3åéããã°ã©ãã³ã°è¬åº§ 第2å: ãèšèšå³ãããçãŸãããåæ§ãïœãªããžã§ã¯ãã®ç¬ç«æ§ïœ
ç»å Žäººç©ïŒ
ãã£ããå çïŒéç§°:å çïŒïŒ ãªããžã§ã¯ãæåãã¹ã¿ãŒãæ®æ®µã¯åªãããããŸã«ãŠãŒã¢ã¢ã亀ããªãã解説ã
ããã婿ïŒéç§°:ãããåïŒïŒ ããã°ã©ãã³ã°ãå§ããã°ããã®è¥æãçŽ æŽãªçåãæããããã®ãåŸæã
ãããåïŒ å çïŒãã®éæããŠããã£ããã¯ã©ã¹ãèšèšå³ã§ããªããžã§ã¯ããããããäœãããã¢ããã£ãŠããã®ãããªãã ãããããã£ããããŸããïŒç¹ã«ãåãèšèšå³ããäœãããè»ãªã®ã«ãããããéãåããããã®ãé¢çœãã£ãã§ãïŒ
å çïŒ ããã£ããããããåïŒãŸãã«ããããªããžã§ã¯ãæåã®ééå³ãªãã ãååã¯å°ãè§Šãããã©ã仿¥ã¯ãã®ããªããžã§ã¯ãã®ç¬ç«æ§ãã«ã€ããŠããã£ãšæ·±ãæãäžããŠãããã
ãããåïŒ ã¯ãïŒãé¡ãããŸãïŒ
ãªããžã§ã¯ãã¯ãåå¥ã®ã¢ãããããŒã¿ã¯ãããããã®åŒãåºãã
å çïŒ ååã®äŸã§ãCarãšããã¯ã©ã¹ïŒèšèšå³ïŒãããèµ€ãããšã¿ã®è»ããšãéããã³ãã®è»ããšãã2ã€ã®ãªããžã§ã¯ãïŒå®äœïŒãäœã£ãã®ãèŠããŠããããªïŒ
ãããåïŒ ã¯ãïŒredCarãšblueCarã§ããïŒ
å çïŒ ããã ãããã®2ã€ã®ãªããžã§ã¯ãã¯ãã©ã¡ããCarãšããåãèšèšå³ããäœãããŠãããã§ããredCarãå éããŠãblueCarã®é床ã¯å€ãããªãã£ãããªãã ãšæãïŒ
ãããåïŒ ããŒãâŠâŠãã£ãšããããããå¥ã ã«äœããããããã§ããïŒ
å çïŒ ãã®éãïŒçŽ æŽãããïŒããã°ã©ãã³ã°ã®äžçã§ã¯ãã¯ã©ã¹ãããªããžã§ã¯ããæ°ããäœããšããã®ãªããžã§ã¯ãã®ããŒã¿ïŒå±æ§ïŒã®ããã«ãå°çšã®ã¡ã¢ãªé åãã確ä¿ããããã ã
ãããåïŒ å°çšã®ã¡ã¢ãªé åïŒ
å çïŒ ãããäŸãã°ãåãæ°ããåŒãåºãä»ãã®æºãè²·ã£ããšãããåããã¶ã€ã³ã®æºã§ããåã®æºã«ã¯åã®ãã³ãããŒããé£ã®äººã®æºã«ã¯ãã®äººã®ææ¿å ·ãå ¥ã£ãŠããããïŒãããããå¥ã ã®åŒãåºããæã£ãŠãããããåãèªåã®åŒãåºãã«äœãå ¥ããŠããé£ã®äººã®åŒãåºãã«ã¯åœ±é¿ããªãã
ãããåïŒ ãããªãã»ã©ïŒåã®æºãšå çã®æºã¯åããã¶ã€ã³ïŒã¯ã©ã¹ïŒã ãã©ãäžã®åŒãåºãïŒããŒã¿ïŒã¯å¥ã ã£ãŠããšãïŒ
å çïŒ ããããããšïŒããã«èšããšãæºã®ãäœ¿ãæ¹ã®èª¬ææžãïŒã¡ãœããïŒã¯åããã®ãåèã«ãããã©ãå®éã«åŒãåºããéãããšãã¯ãèªåã®æºã®åŒãåºãã ããéããããïŒããã°ã©ã ã§ãåãã§ãã¡ãœããã¯å ±éã ãã©ãæäœããããŒã¿ã¯ããããã®ãªããžã§ã¯ãåºæãªãã ã
ã¡ãœããã¯ãå ±éã®ããã¥ã¢ã«ããthisã¯ãèªåã®åŒãåºãã
å çïŒ ããããããäžã€è³ªåã ãaccelerate()ãbrake()ãšãã£ãã¡ãœããïŒè¡åïŒã¯ãredCarãblueCarãåãã³ãŒãã䜿ã£ãŠããããïŒããã¯ã©ãããŠã ãšæãïŒ
ãããåïŒ ãã£ãšâŠâŠèšèšå³ã«æžããŠãããããã§ããïŒ
å çïŒ å€§æ£è§£ïŒã¡ãœããã®ã³ãŒãïŒãè¡åã®æé ãïŒã¯ãåãã¯ã©ã¹ããäœããããã¹ãŠã®ãªããžã§ã¯ãã§å ±æãããŠãããã ãã ãããredCarãblueCarããåãaccelerate()ã¡ãœããã®ã³ãŒãã䜿ã£ãŠåäœãããã ãã
ãããåïŒ ãªãã»ã©ïŒã§ãããã£ãã®ãèªåã ãã®ããŒã¿ãã£ãŠãã話ãšã©ãã€ãªãããã§ããïŒèª¬ææžãåããªã®ã«ããªãéãè»ãåããã§ããïŒ
å çïŒ ããããã€ã³ãã ãïŒããã§ååã®thisãæŽ»èºãããã ã
å çïŒ èª¬ææžïŒã¡ãœããïŒã¯å ±éã ãã©ããã®èª¬ææžãã誰ãèªãããã§çµæãå€ãããredCarãaccelerate()ã¡ãœãããåŒã¶ãšããã¡ãœããã®äžã®this.speedã¯ãä»ãèµ€ãè»ã®æã£ãŠããé床ããæããblueCarãaccelerate()ãåŒã¶ãšãã¯ããä»ãéãè»ã®æã£ãŠããé床ããæããã ã
ãããåïŒ ãããïŒã ãããã¡ãœããã®ã³ãŒãèªäœã¯äžã€ã§ããthisã䜿ãããšã§ããã®ã¡ãœãããå®è¡ããŠãããèªåèªèº«ã®ãªããžã§ã¯ãã®ããŒã¿ãã ããæäœã§ãããã§ããïŒ
å çïŒ ãã®çè§£ã§å®ç§ã ïŒãªããžã§ã¯ãæåã§ã¯ããã®ããã«ãããŒã¿ïŒå±æ§ïŒããšããããæäœããè¡åïŒã¡ãœããïŒããã»ããã«ããŠãåå¥ã®ããªããžã§ã¯ãããšããŠæ±ããããã«ãããããããã®ãªããžã§ã¯ããç¬ç«ãããåæ§ããæã€ããšãã§ãããã ã
ãªããžã§ã¯ãã®ç¬ç«æ§ã®ã¡ãªãã
å çïŒ ãã®ããªããžã§ã¯ãã®ç¬ç«æ§ãããããã°ã©ãã³ã°ã«ãããŠã©ããªã¡ãªããããããããšæãïŒ
ãããåïŒ ããŒãšãäŸãã°ãããããã®è»ãããã°ã©ã ã§æ±ãããæã«ãå šéšãã©ãã©ã«æžããªããŠæžããããæ¥œããšãã§ããïŒ
å çïŒ ãã®éãïŒãŸãã«ããã倧ããªã¡ãªããã®äžã€ã ãã
å çïŒ äŸãã°ããããªé¢šã«è€æ°ã®è»ãç°¡åã«äœã£ãŠç®¡çã§ãããã ã
Java
// è€æ°ã®ãªããžã§ã¯ããäœæïŒãããããç¬ç«ããã¡ã¢ãªé åãæã€ïŒ
Car car1 = new Car("èµ€", "ããšã¿");
Car car2 = new Car("é", "ãã³ã");
Car car3 = new Car("çœ", "æ¥ç£");
// ãããããç¬ç«ããŠåäœïŒä»ã«åœ±é¿ããªãïŒ
car1.accelerate(50); // èµ€ãããšã¿ã ããå é
car2.accelerate(30); // éããã³ãã ããå é
car3.brake(); // çœãæ¥ç£ã ãã忢
ãããåïŒ ããïŒåãã³ãŒããã¿ãŒã³ã§ãããããªè»ãäœãããã§ããïŒ
å çïŒ ããã ããäž»ãªã¡ãªããã¯ä»¥äžã®3ã€ã ãã
ã³ãŒãã®åå©çšæ§: äžåºŠCarã¯ã©ã¹ãšããèšèšå³ãäœãã°ãäœå°ã§ã奜ããªã ãè»ïŒãªããžã§ã¯ãïŒãäœãããã³ãŒãã®éè€ãæžããã
管çã®ãããã: ããããã®ãªããžã§ã¯ããç¬ç«ããŠãããããäžã€ã®ãªããžã§ã¯ãã®ããŒã¿ãå€ãã£ãŠããä»ã®ãªããžã§ã¯ãã«æå³ããªã圱é¿ãäžããå¿é ãå°ãªããã ã
圹å²ã®æç¢ºå: ããã®è»ã¯ããããããŒã¿ãæã£ãŠãŠãããããåããããããšãäžã€äžã€ã®ãã¢ããã®åœ¹å²ãã¯ã£ãããããããããã°ã©ã å šäœãåããããããªãã
ãããåïŒ ãªãã»ã©ïŒããããã®ã¢ããå¹ççã«ããããŠå®å šã«æ±ããããã«ãªããã§ããïŒãªããžã§ã¯ãæåã£ãŠããããçã«ããªã£ãŠããã ãªãã
仿¥ã®ãŸãšãïŒ
ãªããžã§ã¯ãã®ç¬ç«æ§ïŒã¯ã©ã¹ããäœãããåã ã®ãªããžã§ã¯ãã¯ãããããå°çšã®ã¡ã¢ãªé åãæã¡ãç¬ç«ããããŒã¿ïŒå±æ§ïŒãä¿æããã
ã¡ãœããã®å ±ææ§ïŒåãã¯ã©ã¹ã®ãªããžã§ã¯ãã¯ãåãã¡ãœããïŒè¡åã®æé ïŒã®ã³ãŒããå ±æããŠããããå®è¡æã¯åãªããžã§ã¯ãåºæã®ããŒã¿ãæäœããã
thisã®åœ¹å²ïŒå ±æãããã¡ãœããå ã§ãthisã䜿ãããšã§ããã®ã¡ãœãããå®è¡ããŠãããèªåèªèº«ã®ãªããžã§ã¯ãã®ããŒã¿ããæ£ç¢ºã«æäœã§ããã
ã¡ãªããïŒã³ãŒãã®åå©çšæ§ãé«ãŸãã管çããããããªããããã°ã©ã å šäœã®åœ¹å²ãæç¢ºã«ãªãã
ãããåïŒ å çã仿¥ã¯ãç¬ç«ããåæ§ãæã€ãªããžã§ã¯ããã«ã€ããŠããããããåãããŸããïŒèªåã®ããŒã¿ãæã€ãããããåãã¡ãœãããåŒãã§ããããããã®ãã¢ãããéãåãããããã§ããïŒ
å çïŒ ãã®èª¿åã ããããåïŒãªããžã§ã¯ãæåã®é åãå°ããã€èŠããŠããããããªãããªïŒæ¬¡åã¯ããããã®ç¬ç«ãããªããžã§ã¯ããå¹ççã«èšèšããããã®éèŠãªèãæ¹ã«ã€ããŠè©±ããããäžã€ã®ã¯ã©ã¹ã«äœã§ãããã§ãè©°ã蟌ãã§ããŸã£ãããã©ããªåé¡ãèµ·ããããªïŒãäŸãã°ãCarã¯ã©ã¹ã«ãèµ°ãããæ¢ãŸããã ããããªããã鳿¥œãåçããããããã²ãŒã·ã§ã³ãããããšã¢ã³ã³ãæäœããããªã©ãå šéšå ¥ããŠããŸã£ããâŠïŒãã³ãã¯ã責任ã®åæ ãã ãïŒ
ãããåïŒ è²¬ä»»ã®åæ ïŒãªãã ãé£ãããã ãã©ã楜ãã¿ã§ãïŒããããšãããããŸããïŒ