Sobes.tech
Junior — Middle

Selgitage, mis on abstraktne klass ja kuidas see erineb tavalise klassi omadest.

sobes.tech AI

Vastus AI-lt

Kaugelearvatud klass on klass, mis ei ole mõeldud otse eksemplaride loomiseks. Selle peamine ülesanne on toimida teiste klasside alusena. Kaugelearvatud klassis võivad olla abstraktsed meetodid — meetodid ilma rakenduseta, mida tuleb rakendada alamklassides.

Erinevused tavalise klassiga:

  • Ei ole võimalik otse luua objekti kaugelearvatud klassist.
  • Võib sisaldada abstraktseid meetodeid.
  • Kasutatakse ühise liidese ja käitumise määratlemiseks rühmale alamklasse.

Näide Kotlinis (Android):

abstract class Animal {
    abstract fun makeSound()

    fun sleep() {
        println("Magab")
    }
}

class Dog : Animal() {
    override fun makeSound() {
        println("Haug")
    }
}

fun main() {
    val dog = Dog()
    dog.makeSound()  // Väljund: Haug
    dog.sleep()      // Väljund: Magab
}