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
0 B
|👍
/👎
0 B
|👍
/👎