開発環境
- 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)、BE the Compiler(151)の解答を求めてみる。
コード
// 1Aと1B // 2Aはopenが無いから上書きできない // 3Bは出力に必要な関数が上書きされてない open class Monster { open fun frighten(): Boolean { println("Aargh!") return true } } class Vampyre : Monster() { override fun frighten(): Boolean { println("Fancy a bite?") return false } } class Dragon : Monster() { override fun frighten(): Boolean { println("Fire!") return true } } fun main() { val m = arrayOf( Vampyre(), Dragon(), Monster() ) for (item in m) { item.frighten() } }
入出力結果
Fancy a bite? Fire! Aargh! Process finished with exit code 0
0 コメント:
コメントを投稿