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 и реализира този метод.