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
}