開発環境
- macOS Mojave - Apple (OS)
- Windows 10 Pro (OS)
- IntelliJ IDEA CE(Community Edition) (IDE(統合開発環境))
- Kotlin (プログラミング言語)
Head First Kotlin: A Brain-Friendly Guide (Dawn Griffiths(著)、David Griffiths(著)、O'Reilly Media)のChapter 5(subclasses and superclasses - Using Your Inheritance)、Code Magnets(141)の解答を求めてみる。
コード
open class Animal {
open val image = ""
open val food = ""
open val habitat = ""
var hunger = 10
open fun makeNoise() {
println("The Animal is making a noise")
}
open fun eat() {
println("The Animal is eating")
}
open fun roam() {
println("The Animal is roaming")
}
}
open class Canine : Animal() {
override fun roam() {
println("The Canine is roaming")
}
}
class Wolf : Canine() {
override val image: String = "wolf.jpg"
override val food = "meat"
override val habitat = "forests"
override fun makeNoise() {
println("Hooooowl!")
}
override fun eat() {
println("The Wolf is eating $food")
}
}
fun main() {
val a = Animal()
val c = Canine()
val w = Wolf()
a.makeNoise()
a.eat()
a.roam()
println()
c.makeNoise()
c.eat()
c.roam()
println()
w.makeNoise()
w.eat()
w.roam()
}入出力結果
The Animal is making a noise The Animal is eating The Animal is roaming The Animal is making a noise The Animal is eating The Canine is roaming Hooooowl! The Wolf is eating meat The Canine is roaming Process finished with exit code 0
0 コメント:
コメントを投稿