// 抽象クラス Vehicle
abstract class Vehicle {
// 抽象メソッド startEngine を宣言
public abstract void startEngine();
}
// 具象クラス Car
class Car extends Vehicle {
// startEngine メソッドã®å®Ÿè£…
@Override
public void startEngine() {
System.out.println("Car Engine started. Vroom! Vroom!");
}
}
// 具象クラス Motorcycle
class Motorcycle extends Vehicle {
// startEngine メソッドã®å®Ÿè£…
@Override
public void startEngine() {
System.out.println("Motorcycle Engine started. Rrrrrrrrrrr!");
}
}
// メインクラス
public class Main {
public static void main(String[] args) {
// Car クラスã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’作æˆ
Car myCar = new Car();
// startEngine() メソッドを呼ã³å‡ºã—ã¦è»Šã®ã‚¨ãƒ³ã‚¸ãƒ³ã‚’å§‹å‹•
myCar.startEngine(); // 出力: Car Engine started. Vroom! Vroom!
// Motorcycle クラスã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’作æˆ
Motorcycle myMotorcycle = new Motorcycle();
// startEngine() メソッドを呼ã³å‡ºã—ã¦ãƒã‚¤ã‚¯ã®ã‚¨ãƒ³ã‚¸ãƒ³ã‚’å§‹å‹•
myMotorcycle.startEngine(); // 出力: Motorcycle Engine started. Rrrrrrrrrrr!
}
}
ã“ã®ä¾‹ã§ã¯ã€Vehicle ã‚¯ãƒ©ã‚¹ãŒæŠ½è±¡ãƒ¡ã‚½ãƒƒãƒ‰ startEngine() を宣言ã—ã¦ã„ã¾ã™ã€‚ãれを継承ã™ã‚‹å…·è±¡ã‚¯ãƒ©ã‚¹ Car 㨠Motorcycle ãŒã€ãれãžã‚Œã®ä¹—り物ã®ã‚¨ãƒ³ã‚¸ãƒ³ã‚’å§‹å‹•ã•ã›ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰ã‚’実装ã—ã¦ã„ã¾ã™ã€‚Main クラス㧠Car クラス㨠Motorcycle クラスをインスタンス化ã—ã€ãれãžã‚Œã® startEngine() メソッドを呼ã³å‡ºã™ã“ã¨ã§ã€è»Šã¨ãƒã‚¤ã‚¯ã®ã‚¨ãƒ³ã‚¸ãƒ³ãŒå§‹å‹•ã•れる様åãŒè¡¨ç¤ºã•れã¾ã™ã€‚
å‡ºåŠ›çµæžœï¼š
Car Engine started. Vroom! Vroom!
Motorcycle Engine started. Rrrrrrrrrrr!
「016 抽象クラスã€å•題集リスト
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™


コメント