Junior
Jak lze dokázat, že metody abstraktní třídy jsou povinné k přepsání?
sobes.tech AI
Odpověď od AI
V Androidu (Java/Kotlin) může abstraktní třída obsahovat abstraktní metody, což jsou metody bez implementace, které musí být přepsány v podtřídách. Pokud podtřída tyto metody nepřepíše, kód se nespustí.
Příklad v Java:
abstract class Animal {
// Abstraktní metoda, kterou je nutné přepsat
abstract void makeSound();
}
class Dog extends Animal {
@Override
void makeSound() {
System.out.println("Haf-haf");
}
}
// Pokud se pokusíte vytvořit třídu bez implementace makeSound(), dojde k chybě při kompilaci
Tímto způsobem existence abstraktní metody nutí všechny podtřídy ji implementovat, což zajišťuje polymorfismus a dodržování principů SOLID.