Sobes.tech
Junior

Как може да се демонстрира, че методите на абстрактен клас са задължителни за преопределяне?

sobes.tech AI

Отговор от AI

В Android (Java/Kotlin) абстрактен клас може да съдържа абстрактни методи — методи без реализация, които задължително трябва да бъдат презаписани в подкласите. Ако подкласът не ги реализира, кодът няма да се компилира.

Пример на Java:

abstract class Animal {
    // Абстрактен метод, задължителен за презаписване
    abstract void makeSound();
}

class Dog extends Animal {
    @Override
    void makeSound() {
        System.out.println("Гав-гав");
    }
}

// Ако се опитате да създадете клас без да реализирате makeSound(), ще получите грешка при компилация

По този начин наличието на абстрактен метод принуждава всички подкласове да го реализират, осигурявайки полиморфизъм и спазване на принципите SOLID.