Sobes.tech
Junior — Middle

Magyarázza el, mi az az absztrakt osztály, és miben különbözik egy normál osztálytól.

sobes.tech MI

Válasz az MI-től

Absztrakt osztály olyan osztály, amelyet nem szándékoznak közvetlen példányosítani. Fő feladata, hogy más osztályok számára alapként szolgáljon. Absztrakt osztályban lehetnek absztrakt metódusok — olyan metódusok, amelyeknek nincs implementációja, és amelyeket az alosztályoknak kell megvalósítaniuk.

Különbségek a normál osztályhoz képest:

  • Nem lehet közvetlenül példányt létrehozni egy absztrakt osztályból.
  • Tartalmazhat absztrakt metódusokat.
  • Általános interfészt és viselkedést határoz meg egy csoport alosztály számára.

Példa Kotlinban (Android):

abstract class Animal {
    abstract fun makeSound()

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

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

fun main() {
    val dog = Dog()
    dog.makeSound()  // Kiírás: Vau
    dog.sleep()      // Kiírás: Alszik
}