// 車両クラス (Vehicle)
class Vehicle {
// 車両ã®è‰²ã‚’表ã™ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹å¤‰æ•°
String color;
// 車両クラスã®ãƒ‡ãƒ•ォルトコンストラクタ
Vehicle() {
System.out.println("親クラスã®ãƒ‡ãƒ•ォルトコンストラクタãŒå‘¼ã³å‡ºã•れã¾ã—ãŸã€‚");
}
// 車両ã®è‰²ã‚’å–å¾—ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰
String getColor() {
return color;
}
}
// 自動車クラス (Car) - 車両クラスを継承
class Car extends Vehicle {
// 自動車ã®é€Ÿåº¦ã‚’表ã™ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹å¤‰æ•°
int speed;
// 自動車クラスã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿
Car(String color, int speed) {
// 親クラスã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãŒæš—黙的ã«å‘¼ã³å‡ºã•れる
this.color = color; // 親クラスã®ãƒ•ィールドã«å€¤ã‚’è¨å®š
this.speed = speed;
}
// 自動車ã®é€Ÿåº¦ã‚’å–å¾—ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰
int getSpeed() {
return speed;
}
}
// メインクラス
public class Main {
public static void main(String[] args) {
// 自動車クラスã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ç”Ÿæˆ
Car car = new Car("Blue", 60);
// メソッドã®å‘¼ã³å‡ºã—ã¨çµæžœã®è¡¨ç¤º
System.out.println("Car Color: " + car.getColor());
System.out.println("Car Speed: " + car.getSpeed());
}
}
ã“ã®ä¾‹ã§ã¯ã€Car クラスã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãŒå‘¼ã³å‡ºã•れる際ã«ã€è¦ªã‚¯ãƒ©ã‚¹ Vehicle ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãŒæš—黙的ã«å‘¼ã³å‡ºã•れã¦ã„ã¾ã™ã€‚
å®Ÿè¡Œçµæžœï¼š
親クラスã®ãƒ‡ãƒ•ォルトコンストラクタãŒå‘¼ã³å‡ºã•れã¾ã—ãŸã€‚
Car Color: Blue
Car Speed: 60
ã“ã®å‡ºåŠ›ã‹ã‚‰ã‚ã‹ã‚‹ã‚ˆã†ã«ã€Car クラスã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãŒå‘¼ã³å‡ºã•れãŸéš›ã«ã€è¦ªã‚¯ãƒ©ã‚¹ Vehicle ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãŒæš—黙的ã«å‘¼ã³å‡ºã•れã¦ã„ã¾ã™ã€‚
暗黙的ãªã‚¹ãƒ¼ãƒ‘ークラスã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿å‘¼ã³å‡ºã—
Javaã«ãŠã„ã¦ã€ã‚µãƒ–クラスã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãŒå®Ÿè¡Œã•ã‚Œã‚‹éš›ã€æš—黙的ã«ã‚¹ãƒ¼ãƒ‘ークラスã®ãƒ‡ãƒ•ォルトコンストラクタãŒå‘¼ã³å‡ºã•れるã¨ã„ã†ä»•組ã¿ãŒã‚りã¾ã™ã€‚ãŸã ã—ã€ã‚¹ãƒ¼ãƒ‘ークラスã«ã¯æ˜Žç¤ºçš„ã«å®šç¾©ã•れãŸã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãŒå˜åœ¨ã™ã‚‹å ´åˆã€ãƒ‡ãƒ•ォルトコンストラクタã¯è‡ªå‹•çš„ã«ç”Ÿæˆã•れã¾ã›ã‚“。ãã®å ´åˆã€ã‚µãƒ–クラスã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿å†…ã§ super() を用ã„ã¦æ˜Žç¤ºçš„ã«ã‚¹ãƒ¼ãƒ‘ークラスã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã‚’呼ã³å‡ºã™å¿…è¦ãŒã‚りã¾ã™ã€‚
以下ã¯ãã®ä»•組ã¿ã®ç°¡å˜ãªè§£èª¬ã§ã™ã€‚
- デフォルトコンストラクタ:
- クラスã«ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãŒå®šç¾©ã•れã¦ã„ãªã„å ´åˆã€Javaã¯ãƒ‡ãƒ•ォルトコンストラクタ(引数をå–らãªã„コンストラクタ)を暗黙的ã«ç”Ÿæˆã—ã¾ã™ã€‚
- サブクラスã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿:
- サブクラスã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãŒå‘¼ã³å‡ºã•れるã¨ã€æœ€åˆã«ã‚¹ãƒ¼ãƒ‘ークラスã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãŒæš—黙的ã«å‘¼ã³å‡ºã•れã¾ã™ã€‚ã“ã®ã‚¹ãƒ¼ãƒ‘ークラスã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿å‘¼ã³å‡ºã—ã¯ã€
super()を用ã„ã¦è¡Œã‚れã¾ã™ã€‚ - ã‚‚ã—スーパークラスã«å¼•æ•°ã‚’å–るコンストラクタãŒã‚ã‚‹å ´åˆã€
super(引数)ã®å½¢ã§æ˜Žç¤ºçš„ã«å‘¼ã³å‡ºã™å¿…è¦ãŒã‚りã¾ã™ã€‚
- サブクラスã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãŒå‘¼ã³å‡ºã•れるã¨ã€æœ€åˆã«ã‚¹ãƒ¼ãƒ‘ークラスã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãŒæš—黙的ã«å‘¼ã³å‡ºã•れã¾ã™ã€‚ã“ã®ã‚¹ãƒ¼ãƒ‘ークラスã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿å‘¼ã³å‡ºã—ã¯ã€
例ã¨ã—ã¦ã€ä»¥ä¸‹ã®ã‚³ãƒ¼ãƒ‰ã‚’見ã¦ã¿ã¾ã—ょã†ï¼š
class Vehicle {
String color;
// スーパークラスã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿
Vehicle(String color) {
this.color = color;
System.out.println("Vehicleã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãŒå‘¼ã°ã‚Œã¾ã—ãŸã€‚");
}
}
class Car extends Vehicle {
int speed;
// サブクラスã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿
Car(String color, int speed) {
// スーパークラスã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãŒæš—黙的ã«å‘¼ã°ã‚Œã‚‹
super(color);
this.speed = speed;
System.out.println("Carã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãŒå‘¼ã°ã‚Œã¾ã—ãŸã€‚");
}
}
public class Main {
public static void main(String[] args) {
Car car = new Car("Blue", 60);
}
}
ã“ã®ä¾‹ã§ã¯ã€Car クラスã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãŒå‘¼ã³å‡ºã•れるã¨ã€super(color) ã«ã‚ˆã£ã¦ Vehicle クラスã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãŒæš—黙的ã«å‘¼ã³å‡ºã•れã€ãã®å¾Œã« Car クラスã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãŒå®Ÿè¡Œã•れã¾ã™ã€‚
「014 継承ã€å•題集リスト
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™


コメント