Sobes.tech
Junior — Middle

Можеш ли да дадеш пример за абстрактен клас в обектно-ориентираното програмиране?

sobes.tech AI

Отговор от AI

Абстрактният клас е клас, който не е предназначен за създаване на екземпляри директно, а служи като базов клас за други класове. Той може да съдържа както реализирани методи, така и абстрактни (без реализация), които трябва да бъдат реализирани в подкласовете.

Пример за абстрактен клас на Java (Android):

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

    // Обикновен метод с реализация
    public void sleep() {
        System.out.println("Животното спи");
    }
}

public class Dog extends Animal {
    @Override
    public void makeSound() {
        System.out.println("Гауу!");
    }
}

// Използване
Animal dog = new Dog();
dog.makeSound(); // Ще изведе: Гауу!
dog.sleep();     // Ще изведе: Животното спи

В този пример, Animal е абстрактен клас с абстрактен метод makeSound(). Класът Dog наследява Animal и реализира този метод.