【学習kotlinシリーズ】抽象クラス

Facebook にシェア
Pocket
LINEで送る
このエントリーを Google ブックマーク に追加

Qiitaでことりん学習帳を発売しています!

抽象クラスとは

抽象クラスとは、継承されることが前提となるクラスで、抽象クラス自体に実装は持たない。
が、抽象クラスを継承したクラスは、抽象クラスの中に定義されている抽象メソッドや抽象プロパティを必ず継承しないといけない。

抽象クラス、抽象メソッド、抽象プロパティの書き方

抽象クラス、抽象メソッド、抽象プロパティはそれぞれ、abstract修飾子をつけることで抽象化される。

実際に書いてみる

// 抽象クラスを定義する
abstract class Character(val name: String){

    // 抽象メソッドを定義する
    abstract fun introduceMyName()
}

class Hero(name: String) : Character(name){
    
    override fun introduceMyName() {
        println("My Name is ${name}")
    }
}

class Monster(name: String) : Character(name){
    override fun introduceMyName() {
        println("僕は悪い ${name} じゃないよ。")
    }
}

fun main(args: Array<String>){

    val hero: Hero = Hero("田中")
    hero.introduceMyName()

    val monster: Monster =  Monster("umentu")
    monster.introduceMyName()
}

実際に書いてみる

My Name is 田中
僕は悪い umentu じゃないよ。

Related posts

コメントを残す