Untitled

 avatar
unknown
plain_text
5 months ago
1.8 kB
1
Indexable
open class Animal(val visina: Int, val tezina: Double) {
    fun ispisiPodatke() {
        println("Visina: $visina cm, Težina: $tezina kg")
    }
}

class Cat(visina: Int, tezina: Double, var ime: String?, var boja: String?) : Animal(visina, tezina) {

    fun setImeOnly(ime: String?) {
        this.ime = ime
    }

    fun setIme(ime: String?, boja: String?) {
        this.ime = ime
        this.boja = boja
    }

    fun ispisiCatPodatke() {
        ispisiPodatke()
        println("Ime: ${ime ?: "nepoznato"}, Boja: ${boja ?: "nepoznata"}")
    }
}

enum class Vrsta {
    LABRADOR,
    BULDOG,
    ZLATNI_RETRIVER,
    HASKI
}

class Dog(visina: Int, tezina: Double, val vrsta: Vrsta) : Animal(visina, tezina) {
    fun ispisiDogPodatke() {
        ispisiPodatke()
        println("Vrsta: $vrsta")
    }
}

fun main() {
    val psi = listOf(
        Dog(60, 30.0, Vrsta.LABRADOR),
        Dog(50, 25.0, Vrsta.BULDOG),
        Dog(55, 32.0, Vrsta.ZLATNI_RETRIVER),
        Dog(50, 28.0, Vrsta.HASKI)
    )

    val macke = listOf(
        Cat(30, 4.5, null, null),
        Cat(25, 3.0, null, null),
        Cat(35, 5.0, null, null)
    )

    // Input od korisnika za ime i boju mačke
    for (i in macke.indices) {
        println("Unesite ime za mačku ${i + 1}:")
        val ime = readLine()
        println("Unesite boju za mačku ${i + 1}:")
        val boja = readLine()
        if (boja != null) {
            macke[i].setIme(ime, boja)
        } else {
            macke[i].setImeOnly(ime)
        }
    }

    // Ispis
    println("\nPodaci o psima:")
    for (pas in psi) {
        pas.ispisiDogPodatke()
    }

    println("\nPodaci o mačkama:")
    for (macka in macke) {
        macka.ispisiCatPodatke()
    }
}
Editor is loading...
Leave a Comment