public class Book {
// フィールド: タイトルã¨è‘—者
private String title;
private String author;
// タイトルã ã‘を引数ã«å–るコンストラクタ
public Book(String title) {
this.title = title;
this.author = "著者未è¨å®š";
}
// タイトルã¨è‘—者ã®åå‰ã‚’引数ã«å–るコンストラクタ
public Book(String title, String author) {
this.title = title;
this.author = author;
}
// ä»–ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚„コードã¯çœç•¥
}
ã“ã®è§£ç”例ã§ã¯ã€2ã¤ã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãŒè¿½åŠ ã•れã€ãれãžã‚Œç•°ãªã‚‹å¼•æ•°ã®çµ„ã¿åˆã‚ã›ã«å¯¾å¿œã—ã¦ã„ã¾ã™ã€‚ã“れã«ã‚ˆã‚Šã€Book クラスを異ãªã‚‹æ–¹æ³•ã§åˆæœŸåŒ–ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã«ãªã‚Šã¾ã™ã€‚ãŸã¨ãˆã°ã€ç¬¬ä¸€å¼•æ•°ã ã‘を指定ã—ã¦ã‚¿ã‚¤ãƒˆãƒ«ã‚’è¨å®šã—ã€è‘—者ã¯ãƒ‡ãƒ•ォルト値ã¨ã—ã¦æ‰±ã†å ´åˆãªã©ãŒè€ƒãˆã‚‰ã‚Œã¾ã™ã€‚
複数ã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã®å®šç¾©
「複数ã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã®å®šç¾©ã€ã¯ã€åŒã˜ã‚¯ãƒ©ã‚¹å†…ã§ç•°ãªã‚‹å¼•数リストをæŒã¤è¤‡æ•°ã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã‚’定義ã™ã‚‹ã“ã¨ã‚’指ã—ã¾ã™ã€‚ã“れã«ã‚ˆã‚Šã€ã‚ªãƒ–ジェクトを生æˆã™ã‚‹éš›ã«ç•°ãªã‚‹åˆæœŸåŒ–ã®æ–¹æ³•ã‚’æä¾›ã§ãã¾ã™ã€‚ã“ã®æ¦‚念ã¯ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã®ã‚ªãƒ¼ãƒãƒ¼ãƒãƒ¼ãƒ‰ã¨é–¢é€£ã—ã¦ãŠã‚Šã€åŒã˜ãƒ¡ã‚½ãƒƒãƒ‰åã§ç•°ãªã‚‹å¼•æ•°ã‚’æŒã¤ãƒ¡ã‚½ãƒƒãƒ‰ã‚’複数定義ã™ã‚‹ã“ã¨ãŒã§ãã‚‹Javaã®ç‰¹å¾´ã‚’利用ã—ã¦ã„ã¾ã™ã€‚
以下ã«ã€è¤‡æ•°ã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã‚’定義ã™ã‚‹éš›ã®è¦ç‚¹ã‚’解説ã—ã¾ã™ã€‚
1.æ§‹æ–‡:
複数ã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã‚’定義ã™ã‚‹ã«ã¯ã€åŒã˜ã‚¯ãƒ©ã‚¹å†…ã§ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã‚’オーãƒãƒ¼ãƒãƒ¼ãƒ‰ã—ã¾ã™ã€‚オーãƒãƒ¼ãƒãƒ¼ãƒ‰ã•れãŸã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã¯ã€å¼•æ•°ã®åž‹ã‚„æ•°ãŒç•°ãªã‚‹ã‚‚ã®ã§ã™ã€‚
public class MyClass {
// コンストラクタ1
public MyClass(Type1 arg1) {
// åˆæœŸåŒ–処ç†
}
// コンストラクタ2
public MyClass(Type2 arg1, Type3 arg2) {
// åˆæœŸåŒ–処ç†
}
// ä»–ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚„コードã¯çœç•¥
}
2.引数ã®åž‹ã‚„æ•°ã®ç•°ãªã‚Š:
複数ã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã‚’区別ã™ã‚‹ãŸã‚ã«ã¯ã€å¼•æ•°ã®åž‹ã‚„æ•°ãŒç•°ãªã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚引数ã®åž‹ã‚„æ•°ãŒåŒã˜å ´åˆã€ã‚³ãƒ³ãƒ‘イラãŒã©ã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã‚’呼ã³å‡ºã™ã¹ãã‹åˆ¤æ–ã§ããªããªã‚Šã¾ã™ã€‚
3.オーãƒãƒ¼ãƒãƒ¼ãƒ‰ã®åˆ©ç”¨:
コンストラクタã®ã‚ªãƒ¼ãƒãƒ¼ãƒãƒ¼ãƒ‰ã¯ã€ç•°ãªã‚‹åˆæœŸåŒ–ã®è¦ä»¶ã«å¯¾å¿œã™ã‚‹æŸ”軟性をæä¾›ã—ã¾ã™ã€‚例ãˆã°ã€ã‚ªãƒ–ジェクトã®ç”Ÿæˆã«å¿…è¦ãªæƒ…å ±ãŒç•°ãªã‚‹å ´åˆã«å‚™ãˆã¦ã€è¤‡æ•°ã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã‚’用æ„ã§ãã¾ã™ã€‚
public class Person {
// フィールド: åå‰ã¨å¹´é½¢
private String name;
private int age;
// 引数をå—ã‘å–るコンストラクタ1
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// 引数をå—ã‘å–るコンストラクタ2 (年齢を指定ã›ãšã«åå‰ã ã‘ã‚’å—ã‘å–ã‚‹)
public Person(String name) {
this.name = name;
this.age = 0; // デフォルトã§0æ³ã¨ã™ã‚‹
}
}
ã“ã®ä¾‹ã§ã¯ã€Person クラスã«ã¯2ã¤ã®ç•°ãªã‚‹å¼•æ•°ã®çµ„ã¿åˆã‚ã›ã«å¯¾å¿œã™ã‚‹ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãŒå®šç¾©ã•れã¦ã„ã¾ã™ã€‚ã“れã«ã‚ˆã‚Šã€ã‚ªãƒ–ジェクトを生æˆã™ã‚‹éš›ã«å¿…è¦ãªæƒ…å ±ã‚’æŒ‡å®šã—ã¦æŸ”軟ã«åˆæœŸåŒ–ã§ãã¾ã™ã€‚
「011 コンストラクタã€å•題集リスト
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™


コメント