Sobes.tech
Junior — Middle

Erklären Sie, was eine abstrakte Klasse ist und wie sie sich von einer normalen Klasse unterscheidet.

sobes.tech KI

Antwort von AI

Eine abstrakte Klasse ist eine Klasse, die nicht dazu bestimmt ist, direkt Instanzen zu erstellen. Ihre Hauptaufgabe besteht darin, als Basis für andere Klassen zu dienen. In einer abstrakten Klasse können abstrakte Methoden vorhanden sein — Methoden ohne Implementierung, die in den Unterklassen implementiert werden müssen.

Unterschiede zu einer normalen Klasse:

  • Es ist nicht möglich, ein Objekt einer abstrakten Klasse direkt zu erstellen.
  • Sie kann abstrakte Methoden enthalten.
  • Wird verwendet, um eine gemeinsame Schnittstelle und Verhalten für eine Gruppe von Unterklassen zu definieren.

Beispiel in Kotlin (Android):

abstract class Animal {
    abstract fun makeSound()

    fun sleep() {
        println("Schläft")
    }
}

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

fun main() {
    val dog = Dog()
    dog.makeSound()  // Gibt aus: Wau
    dog.sleep()      // Gibt aus: Schläft
}