// Shapeクラス
public class Shape {
// final修飾åã‚’æŒã¤calculateAreaメソッド
public final double calculateArea() {
// å„形状ã«å›ºæœ‰ã®é¢ç©è¨ˆç®—
return 0.0; // ä»®ã®æˆ»ã‚Šå€¤ã€å®Ÿéš›ã«ã¯å½¢çжã”ã¨ã«è¨ˆç®—ãŒå¿…è¦
}
}
// Circleクラス(Shapeクラスを継承ã—ãŸã‚µãƒ–クラス)
public class Circle extends Shape {
// 以下ã®ã‚³ãƒ¼ãƒ‰ã§ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã™
// サブクラスã§calculateAreaメソッドをオーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã—よã†ã¨ã—ã¦ã„ã‚‹ãŸã‚
// エラー: calculateArea() in Circle cannot override calculateArea() in Shape
// overridden method is final
@Override
public double calculateArea() {
// æ–°ã—ã„è¨ˆç®—æ–¹æ³•ã‚’è¿½åŠ ã—よã†ã¨ã—ã¦ã‚‚ã€final修飾åãŒã‚ã‚‹ãŸã‚エラーãŒç™ºç”Ÿ
return 0.0;
}
}
ã“ã®ä¾‹ã§ã¯ã€Shapeクラスã«final修飾åã‚’æŒã¤calculateAreaメソッドを作æˆã—ã€ãれを継承ã—ãŸCircleクラスã§ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚ã—ã‹ã—ã€calculateAreaメソッドãŒfinal修飾åã‚’æŒã¤ãŸã‚ã€ã‚µãƒ–クラスã§ã®ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰ãŒç¦æ¢ã•れã€ã‚³ãƒ³ãƒ‘イルエラーãŒç™ºç”Ÿã—ã¾ã™ã€‚
「014 継承ã€å•題集リスト
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™


コメント