Sobes.tech
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.