Kyaria icon

Song.kt

Kyaria | PRO | 06/11/19 10:03:06 AM UTC | 0 ⭐ | 10841 👁️ | Never ⏰ | []
Kotlin |

1.48 KB

|

None

|

0 👍

/

0 👎

open class Song(val titel: String, val interpret: String, val spieldauer: Int, _bewertung: Int) {
 
    var bewertung = _bewertung
        set(value) {
            if (value < 0)
                field = 0
            else if (value > 100)
                field = 100
            else
                field = value
        }
 
    open fun abspielen() {
 
        var decke: Int
 
        if (spieldauer % 60 == 0)
            decke = spieldauer / 60
        else
            decke = spieldauer / 60 + 1
 
        for (i in 1..decke)
            println("Spiele: $titel von $interpret (Bewertung: $bewertung Punkte)")
    }
 
    fun change(newValue: Int) {
 
        bewertung = newValue
    }
 
    open fun search(searchString: String): Boolean =
        titel.contains(searchString) || interpret.contains(searchString)
 
}
 
class SongMitText(titelParam: String, interpretParam: String, spieldauerParam: Int, bewertungParam: Int, var textzeile: String) : Song(titelParam, interpretParam, spieldauerParam, bewertungParam){
 
    override fun search(searchString: String): Boolean =
        titel.contains(searchString) || interpret.contains(searchString)|| textzeile.contains(searchString)
 
}
 
class SongMitAutobewertung(titelParam: String, interpretParam: String, spieldauerParam: Int, bewertungParam: Int) : Song(titelParam, interpretParam, spieldauerParam, bewertungParam){
 
    override fun abspielen() {
 
        super.change(bewertung + 1)
        super.abspielen()
    }
}

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎