Javaã«ãŠã„ã¦ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã¯éžå¸¸ã«é‡è¦ãªæ¦‚念ã§ã™ã€‚以下ã¯ã€ãªãœã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã®ç†è§£ãŒJavaå¦ç¿’ã«ãŠã„ã¦é‡è¦ã§ã‚ã‚‹ã‹ã«ã¤ã„ã¦ã®èª¬æ˜Žã§ã™ã€‚
1.オブジェクトã®åˆæœŸåŒ–:
コンストラクタã¯ã€æ–°ã—ã„オブジェクトãŒä½œæˆã•れる際ã«å‘¼ã³å‡ºã•れるメソッドã§ã™ã€‚オブジェクトãŒç”Ÿæˆã•れるã¨ãã«ã€ãã®ã‚ªãƒ–ジェクトã®åˆæœŸåŒ–を行ã†ãŸã‚ã«ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãŒä½¿ç”¨ã•れã¾ã™ã€‚例ãˆã°ã€ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹å¤‰æ•°ã®åˆæœŸå€¤ã‚’è¨å®šã™ã‚‹ãªã©ã€ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆã®æ£ã—ã„状態ã§ã®ä½¿ç”¨ã‚’ä¿è¨¼ã™ã‚‹ãŸã‚ã«ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã¯æ¬ ã‹ã›ã¾ã›ã‚“。
2.クラスã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹åŒ–:
クラスを使用ã—ã¦ã‚ªãƒ–ジェクトを生æˆã™ã‚‹ãŸã‚ã«ã¯ã€ãã®ã‚¯ãƒ©ã‚¹ã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã‚’呼ã³å‡ºã™å¿…è¦ãŒã‚りã¾ã™ã€‚コンストラクタã¯ã€new ã‚ーワードを使用ã—ã¦ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’生æˆã™ã‚‹éš›ã«è‡ªå‹•çš„ã«å‘¼ã³å‡ºã•れã€ã‚ªãƒ–ジェクトãŒä½¿ç”¨å¯èƒ½ãªçŠ¶æ…‹ã«ãªã‚Šã¾ã™ã€‚
MyClass obj = new MyClass(); // コンストラクタãŒå‘¼ã³å‡ºã•れる3.オーãƒãƒ¼ãƒãƒ¼ãƒ‰ã¨ç•°ãªã‚‹ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã®ã‚µãƒãƒ¼ãƒˆ:
クラスã«ã¯è¤‡æ•°ã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã‚’定義ã™ã‚‹ã“ã¨ãŒã§ãã€ã“れをコンストラクタã®ã‚ªãƒ¼ãƒãƒ¼ãƒãƒ¼ãƒ‰ã¨å‘¼ã³ã¾ã™ã€‚ç•°ãªã‚‹å¼•æ•°ã‚’å–るコンストラクタをæä¾›ã™ã‚‹ã“ã¨ã§ã€ç•°ãªã‚‹åˆæœŸåŒ–オプションをæä¾›ã§ãã¾ã™ã€‚ã“れã«ã‚ˆã‚Šã€æŸ”軟性をæŒã£ãŸã‚¯ãƒ©ã‚¹ã®è¨è¨ˆãŒå¯èƒ½ã¨ãªã‚Šã¾ã™ã€‚
public class MyClass {
// デフォルトコンストラクタ
public MyClass() {
// åˆæœŸåŒ–処ç†
}
// 引数をå—ã‘å–るコンストラクタ
public MyClass(int value) {
// åˆæœŸåŒ–処ç†
}
}4.継承ã¨ã‚µãƒ–クラス:
サブクラスãŒè¦ªã‚¯ãƒ©ã‚¹ã‚’æ‹¡å¼µã™ã‚‹éš›ã«ã‚‚ã€ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã¯é‡è¦ã§ã™ã€‚サブクラスã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã¯ã€è¦ªã‚¯ãƒ©ã‚¹ã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã‚’呼ã³å‡ºã™å¿…è¦ãŒã‚りã¾ã™ã€‚ã“れã«ã‚ˆã‚Šã€ç¶™æ‰¿é–¢ä¿‚ã®ä¸ã§æ£ã—ã„åˆæœŸåŒ–ãŒè¡Œã‚れã€ã‚ªãƒ–ジェクトã®çŠ¶æ…‹ãŒæ•´åˆæ€§ã‚’ä¿ã¤ã“ã¨ãŒã§ãã¾ã™ã€‚
public class SubClass extends SuperClass {
public SubClass() {
super(); // 親クラスã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã‚’呼ã³å‡ºã™
// サブクラスã®åˆæœŸåŒ–処ç†
}
}5.リソース管ç†:
コンストラクタã¯ã€ã‚ªãƒ–ジェクトãŒä¸è¦ã«ãªã£ãŸã¨ãã®ãƒªã‚½ãƒ¼ã‚¹ã®è§£æ”¾ã‚„後処ç†ã‚’行ã†ã®ã«ã‚‚利用ã•れã¾ã™ã€‚例ãˆã°ã€ãƒ•ã‚¡ã‚¤ãƒ«ã‚„ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®æŽ¥ç¶šã‚’ç¢ºå®Ÿã«é–‰ã˜ã‚‹ãªã©ã€ãƒªã‚½ãƒ¼ã‚¹ç®¡ç†ã®å´é¢ã§ã‚‚役立ã¡ã¾ã™ã€‚
ç·ã˜ã¦ã€ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã¯Javaã®ã‚ªãƒ–ジェクト指å‘プãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ã®ä¸ã§é‡è¦ãªå½¹å‰²ã‚’æžœãŸã—ã€æ£ç¢ºã§å®‰å…¨ãªã‚³ãƒ¼ãƒ‰ã®æ§‹ç¯‰ã«å¯„与ã—ã¾ã™ã€‚å¦ç¿’者ã¯ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã®ä½¿ã„方や役割をç†è§£ã—ã€ã‚¯ãƒ©ã‚¹ã®æ£ç¢ºãªåˆæœŸåŒ–ã¨ã‚ªãƒ–ジェクトã®é©åˆ‡ãªåˆ©ç”¨ã‚’確èªã™ã‚‹ãŸã‚ã«ã€ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã®ç†è§£ã‚’æ·±ã‚ã¦ã„ãã“ã¨ãŒé‡è¦ã§ã™ã€‚
ç·´ç¿’å•題
コンストラクタã¯ã€Javaプãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ã«ãŠã„ã¦æ¬ ã‹ã›ãªã„概念ã§ã‚りã€ã‚ªãƒ–ジェクト指å‘プãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ã®ä¸ã§é‡è¦ãªå½¹å‰²ã‚’æžœãŸã—ã¾ã™ã€‚オブジェクトã®åˆæœŸåŒ–やクラスã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹åŒ–ã€ç¶™æ‰¿é–¢ä¿‚ã«ãŠã‘ã‚‹æ£ã—ã„åˆæœŸåŒ–ãªã©ã€å¤šå²ã«ã‚ãŸã‚‹æ©Ÿèƒ½ãŒã‚りã¾ã™ã€‚ã“ã®ç·´ç¿’å•題ã§ã¯ã€ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã®åŸºæœ¬çš„ãªæ¦‚念ã‹ã‚‰å¿œç”¨ã¾ã§ã‚’身ã«ã¤ã‘ã‚‹ãŸã‚ã®æ¼”習を行ã„ã¾ã™ã€‚
コンストラクタã®å®šç¾©
011-001 å•題 解ç”例
011-002 å•題 解ç”例
011-003 å•題 解ç”例
コンストラクタを呼ã³å‡ºã™
011-004 å•題 解ç”例
011-005 å•題 解ç”例
011-006 å•題 解ç”例
別ã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã‚’呼ã³å‡ºã™
011-007 å•題 解ç”例
011-008 å•題 解ç”例
011-009 å•題 解ç”例