public class Vehicle {
public void start() {
System.out.println("車両ãŒå§‹å‹•ã—ã¾ã—ãŸ");
}
}
public class Car extends Vehicle {
// Car クラス独自ã®ãƒ•ィールドやメソッドãŒã‚れã°ã“ã“ã§å®£è¨€
// start メソッドã®ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰
@Override
public void start() {
// Car クラス独自ã®å‡¦ç†
System.out.println("車ãŒã‚¨ãƒ³ã‚¸ãƒ³ã‚’ã‹ã‘ã¾ã—ãŸ");
// 親クラス㮠start メソッド呼ã³å‡ºã—
super.start();
}
// Car クラス独自ã®ãƒ¡ã‚½ãƒƒãƒ‰ãŒã‚れã°ã“ã“ã§å®£è¨€
}
ã“ã®è§£ç”例ã§ã¯ã€Vehicle クラス㫠start メソッドãŒã‚りã€ãれを Car クラスãŒç¶™æ‰¿ã—ã¦ã„ã¾ã™ã€‚Car クラスã§ã¯ start メソッドをオーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã—ã€ã€Œè»ŠãŒã‚¨ãƒ³ã‚¸ãƒ³ã‚’ã‹ã‘ã¾ã—ãŸã€ã¨è¡¨ç¤ºã—ãŸå¾Œã«ã€super.start() を使ã£ã¦è¦ªã‚¯ãƒ©ã‚¹ã® start メソッドも呼ã³å‡ºã—ã¦ã„ã¾ã™ã€‚ã“れã«ã‚ˆã‚Šã€è¦ªã‚¯ãƒ©ã‚¹ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚‚表示ã•れã¾ã™ã€‚
明示的ãªã‚¹ãƒ¼ãƒ‘ークラスã®ãƒ¡ã‚½ãƒƒãƒ‰å‘¼ã³å‡ºã—
Javaã«ãŠã„ã¦ã€ã‚µãƒ–クラスã§ã‚¹ãƒ¼ãƒ‘ークラスã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã—ãŸå ´åˆã€ã‚µãƒ–ã‚¯ãƒ©ã‚¹ã§æ–°ã—ã„実装をã—ãŸã„å ´åˆã§ã‚‚ã€è¦ªã‚¯ãƒ©ã‚¹ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’呼ã³å‡ºã™ã“ã¨ãŒã§ãã¾ã™ã€‚ã“れã¯ã€ã€Œæ˜Žç¤ºçš„ãªã‚¹ãƒ¼ãƒ‘ークラスã®ãƒ¡ã‚½ãƒƒãƒ‰å‘¼ã³å‡ºã—ã€ã¨å‘¼ã°ã‚Œã¾ã™ã€‚super ã‚ーワードを使用ã—ã¦è¡Œã„ã¾ã™ã€‚
以下ã¯ãã®åŸºæœ¬çš„ãªæ§‹é€ ã§ã™ï¼š
public class SuperClass {
public void method() {
System.out.println("SuperClass method");
}
}
public class SubClass extends SuperClass {
@Override
public void method() {
// 親クラスã®ãƒ¡ã‚½ãƒƒãƒ‰å‘¼ã³å‡ºã—
super.method();
// サブクラス独自ã®å‡¦ç†
System.out.println("SubClass method");
}
}
ã“ã“ã§ã¯ã€SubClass ㌠SuperClass を継承ã—ã¦ã„ã¾ã™ã€‚SubClass ã§ã¯ method をオーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã—ã¦ã„ã¾ã™ãŒã€super.method(); を使ã£ã¦è¦ªã‚¯ãƒ©ã‚¹ã® method を呼ã³å‡ºã—ã¦ã„ã¾ã™ã€‚ã“れã«ã‚ˆã‚Šã€è¦ªã‚¯ãƒ©ã‚¹ã®å‹•作を利用ã—ã¤ã¤ã€ã‚µãƒ–クラス独自ã®å‡¦ç†ã‚’è¿½åŠ ã§ãã¾ã™ã€‚
ã“ã®ä»•組ã¿ã‚’使ã†ã“ã¨ã§ã€ã‚³ãƒ¼ãƒ‰ã®å†åˆ©ç”¨æ€§ã‚„ä¿å®ˆæ€§ã‚’å‘上ã•ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
「014 継承ã€å•題集リスト
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™


コメント