Javaã«ãŠã„ã¦ã‚¯ãƒ©ã‚¹ã¯éžå¸¸ã«é‡è¦ãªæ¦‚念ã§ã‚りã€ãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°è¨€èªžã®ä¸ã§ã‚ªãƒ–ジェクト指å‘プãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ï¼ˆOOP)をサãƒãƒ¼ãƒˆã™ã‚‹ãŸã‚ã®åŸºæœ¬çš„ãªè¦ç´ ã®ä¸€ã¤ã§ã™ã€‚以下ã«ã€ã‚¯ãƒ©ã‚¹ã‚’ç†è§£ã™ã‚‹ã“ã¨ãŒãªãœé‡è¦ã‹ã«ã¤ã„ã¦èª¬æ˜Žã—ã¾ã™ã€‚
- オブジェクト指å‘プãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ï¼ˆOOP)ã®åŸºæœ¬æ¦‚念:
- Javaã¯ã‚ªãƒ–ジェクト指å‘プãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ã‚’採用ã—ã¦ã„ã¾ã™ã€‚ã“ã®ã‚¢ãƒ—ãƒãƒ¼ãƒã§ã¯ã€ãƒ—ãƒã‚°ãƒ©ãƒ å†…ã®æ¦‚念をオブジェクトã¨ã—ã¦ãƒ¢ãƒ‡ãƒ«åŒ–ã—ã€ãれらã®ã‚ªãƒ–ジェクトãŒé€£æºã—ã¦ä½œå‹•ã™ã‚‹ã“ã¨ã«ã‚ˆã£ã¦ãƒ—ãƒã‚°ãƒ©ãƒ を構築ã—ã¾ã™ã€‚クラスã¯ã€ã“れらã®ã‚ªãƒ–ジェクトを生æˆã™ã‚‹ãŸã‚ã®è¨è¨ˆå›³ã®ã‚ˆã†ãªã‚‚ã®ã§ã™ã€‚
- カプセル化:
- クラスã¯ãƒ‡ãƒ¼ã‚¿ï¼ˆãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ï¼‰ã¨æŒ¯ã‚‹èˆžã„(メソッド)をã¾ã¨ã‚ã¦è¡¨ç¾ã—ã¾ã™ã€‚ã“れã«ã‚ˆã‚Šã€ãƒ‡ãƒ¼ã‚¿ã¨æŒ¯ã‚‹èˆžã„ãŒä¸€ã¤ã®å˜ä½ã¨ã—ã¦ã‚«ãƒ—セル化ã•れã€å¤–部ã‹ã‚‰ã®ä¸æ£ãªã‚¢ã‚¯ã‚»ã‚¹ã‚’制御ã§ãã¾ã™ã€‚ã“れã¯ã€ã‚»ã‚ュリティやコードã®ä¿å®ˆæ€§å‘上ã«å¯„与ã—ã¾ã™ã€‚
- å†åˆ©ç”¨æ€§:
- クラスã¯å†åˆ©ç”¨å¯èƒ½ãªã‚³ãƒ¼ãƒ‰ã®å˜ä½ã¨ã—ã¦æ©Ÿèƒ½ã—ã¾ã™ã€‚åŒã˜ã‚¯ãƒ©ã‚¹ã‚’複数ã®å ´æ‰€ã§ä½¿ç”¨ã™ã‚‹ã“ã¨ã§ã€ã‚³ãƒ¼ãƒ‰ã®é‡è¤‡ã‚’é¿ã‘ã€ä¿å®ˆæ€§ã‚’å‘上ã•ã›ã¾ã™ã€‚ã¾ãŸã€ä»–ã®ãƒ—ãƒã‚°ãƒ©ãƒžãŒåŒã˜ã‚¯ãƒ©ã‚¹ã‚’使用ã—ã¦åŒæ§˜ã®æ©Ÿèƒ½ã‚’実ç¾ã§ãã‚‹ãŸã‚ã€åŠ¹çŽ‡çš„ãªå”力ãŒå¯èƒ½ã«ãªã‚Šã¾ã™ã€‚
- 継承:
- クラスã¯ç¶™æ‰¿ã‚’サãƒãƒ¼ãƒˆã—ã€æ–°ã—ã„ã‚¯ãƒ©ã‚¹ãŒæ—¢å˜ã®ã‚¯ãƒ©ã‚¹ã®æ©Ÿèƒ½ã‚’æ‹¡å¼µã§ãã¾ã™ã€‚ã“れã«ã‚ˆã‚Šã€æ—¢å˜ã®ã‚³ãƒ¼ãƒ‰ã‚’変更ã™ã‚‹ã“ã¨ãªãæ–°ã—ã„æ©Ÿèƒ½ã‚’è¿½åŠ ã§ãã¾ã™ã€‚ã¾ãŸã€ç¶™æ‰¿ã¯ã‚³ãƒ¼ãƒ‰ã®å…±é€šéƒ¨åˆ†ã‚’抽象化ã—ã€ä¸€èˆ¬çš„ãªç‰¹æ€§ã‚’æŒã¤ã‚¯ãƒ©ã‚¹ã‚’作æˆã™ã‚‹ã®ã«å½¹ç«‹ã¡ã¾ã™ã€‚
- ãƒãƒªãƒ¢ãƒ¼ãƒ•ィズム:
- クラスを使用ã™ã‚‹ã“ã¨ã§ã€ãƒãƒªãƒ¢ãƒ¼ãƒ•ィズムを実ç¾ã§ãã¾ã™ã€‚ã“れã¯ã€åŒã˜ãƒ¡ã‚½ãƒƒãƒ‰åを使用ã—ã¦ç•°ãªã‚‹ã‚¯ãƒ©ã‚¹ã§ç•°ãªã‚‹å®Ÿè£…ã‚’æä¾›ã§ãる能力を指ã—ã¾ã™ã€‚ã“れã«ã‚ˆã‚Šã€æŸ”軟性ãŒå‘上ã—ã€ç•°ãªã‚‹ã‚ªãƒ–ジェクトãŒåŒã˜ãƒ¡ã‚½ãƒƒãƒ‰ã‚’呼ã³å‡ºã™ã“ã¨ãŒã§ãã¾ã™ã€‚
クラスをç†è§£ã™ã‚‹ã“ã¨ã¯ã€Javaã«ãŠã‘るオブジェクト指å‘プãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ã®åŸºæœ¬çš„ãªã‚¹ãƒ†ãƒƒãƒ—ã§ã‚りã€ã“れã«ã‚ˆã£ã¦æŸ”軟ã§ä¿å®ˆæ€§ã®é«˜ã„コードを作æˆã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
ç·´ç¿’å•題
ã“ã®å¦ç¿’セクションã§ã¯ã€åŸºæœ¬çš„ãªã‚¯ãƒ©ã‚¹ã®ä½œæˆã«ç„¦ç‚¹ã‚’当ã¦ã€ã‚ªãƒ–ジェクト指å‘プãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ã®åŽŸå‰‡ã‚’å®Ÿè·µã—ã¾ã™ã€‚以下ã®ç·´ç¿’å•題ã§ã¯ã€ç•°ãªã‚‹ç¨®é¡žã®ã‚ªãƒ–ジェクトを表ã™ã‚¯ãƒ©ã‚¹ã‚’作æˆã—ã€ãã®ãƒ‡ãƒ¼ã‚¿ã¨æ©Ÿèƒ½ã‚’æ“作ã™ã‚‹æ–¹æ³•ã‚’å¦ã³ã¾ã™ã€‚
å„å•題ã«å–り組むå‰ã«ã€ã‚¯ãƒ©ã‚¹ãŒä½•ã§ã‚りã€ãªãœé‡è¦ãªã®ã‹ã«ã¤ã„ã¦è€ƒãˆã¦ã¿ã¾ã—ょã†ã€‚ãã—ã¦ã€ãれを実践ã™ã‚‹ä¸ã§å¾—ã‚‰ã‚Œã‚‹ãƒ¡ãƒªãƒƒãƒˆã«æ³¨ç›®ã—ã¦ãã ã•ã„。良ã„実践を通ã˜ã¦ã€ã‚¯ãƒ©ã‚¹ã®ç†è§£ã‚’より深ã‚ã¦ã„ãã“ã¨ã§ã—ょã†ã€‚
クラスã®ä½œæˆ
007-001 å•題 解ç”例
007-002 å•題 解ç”例
007-003 å•題 解ç”例
007-004 å•題 解ç”例
007-005 å•題 解ç”例
クラスã®å®£è¨€ã¨ã‚ªãƒ–ジェクトã®ç”Ÿæˆ
007-006 å•題 解ç”例
007-007 å•題 解ç”例
007-008 å•題 解ç”例
007-009 å•題 解ç”例
007-010 å•題 解ç”例
クラスã®åˆ©ç”¨
007-011 å•題 解ç”例
007-012 å•題 解ç”例
007-013 å•題 解ç”例
クラスã®é›†ç´„
007-014 å•題 解ç”例
007-015 å•題 解ç”例
007-016 å•題 解ç”例
007-017 å•題 解ç”例
007-018 å•題 解ç”例