// Animal クラス(抽象クラス)
abstract class Animal {
// é³´ãå£°ã‚’è¿”ã™æŠ½è±¡ãƒ¡ã‚½ãƒƒãƒ‰
abstract String makeSound();
}
// Mammal クラス(具象クラス)
class Mammal extends Animal {
// 出産ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰
void giveBirth() {
// 出産ã®å…·ä½“çš„ãªå®Ÿè£…
}
// é³´ã声を返ã™ãƒ¡ã‚½ãƒƒãƒ‰
@Override
String makeSound() {
return "Mammal sound";
}
}
// Bird クラス(具象クラス)
class Bird extends Animal {
// åµã‚’産むメソッド
void layEggs() {
// åµã‚’産む具体的ãªå®Ÿè£…
}
// é³´ã声を返ã™ãƒ¡ã‚½ãƒƒãƒ‰
@Override
String makeSound() {
return "Bird sound";
}
}
// Dog クラス(具象クラス)
class Dog extends Mammal {
// 家を守るメソッド
void guardHouse() {
// 家を守る具体的ãªå®Ÿè£…
}
// é³´ã声を返ã™ãƒ¡ã‚½ãƒƒãƒ‰
@Override
String makeSound() {
return "Woof! Woof!";
}
}
ã“ã®ä¾‹ã§ã¯ã€Animal ã‚¯ãƒ©ã‚¹ãŒæŠ½è±¡ã‚¯ãƒ©ã‚¹ã§ã‚りã€makeSound() メソッドを抽象メソッドã¨ã—ã¦å®šç¾©ã—ã¦ã„ã¾ã™ã€‚Mammal クラス㨠Bird クラス㌠Animal クラスを継承ã—ã€ãれãžã‚Œç‰¹æœ‰ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’è¿½åŠ ã—ã¦ã„ã¾ã™ã€‚Dog クラス㯠Mammal クラスを継承ã—ã€æ›´ã«ç‰¹æœ‰ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’è¿½åŠ ã—ã¦ã„ã¾ã™ã€‚ã“れã«ã‚ˆã£ã¦ã€ã‚¯ãƒ©ã‚¹éšŽå±¤ãŒæ§‹ç¯‰ã•れã€å„クラスãŒå…±é€šã®ç‰¹å¾´ã‚’æŒã¡ã¤ã¤ã€ç‹¬è‡ªã®æŒ¯ã‚‹èˆžã„ã‚’æä¾›ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚
「018 オブジェクト指å‘ã®æ·±åŒ–ã€å•題集リスト
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™


コメント