Junior — Middle
Vysvětlete, co je to abstraktní třída a v čem se liší od běžné třídy.
sobes.tech AI
Odpověď od AI
Abstraktní třída je třída, která není určena k přímému vytváření instancí. Jejím hlavním úkolem je sloužit jako základ pro jiné třídy. V abstraktní třídě mohou být abstraktní metody — metody bez implementace, které musí být implementovány v podtřídách.
Rozdíly od běžné třídy:
- Nelze přímo vytvořit objekt abstraktní třídy.
- Může obsahovat abstraktní metody.
- Používá se k definování společného rozhraní a chování pro skupinu podtříd.
Příklad v Kotlinu (Android):
abstract class Animal {
abstract fun makeSound()
fun sleep() {
println("Spí")
}
}
class Dog : Animal() {
override fun makeSound() {
println("Haf")
}
}
fun main() {
val dog = Dog()
dog.makeSound() // Vypíše: Haf
dog.sleep() // Vypíše: Spí
}