Sobes.tech
Back to questions
Junior — Middle
62

Какова роль использования абстрактных классов в объектно-ориентированном программировании?

Companies where asked
СБЕРСБЕР

Answer from AI

sobes.tech AI

Абстрактные классы в объектно-ориентированном программировании служат для определения общего интерфейса и поведения для группы связанных классов, при этом сами абстрактные классы не могут быть инстанцированы напрямую. Они позволяют:

  • Задать базовую реализацию методов, которая может быть переопределена в подклассах.
  • Объявить абстрактные методы без реализации, которые обязаны реализовать подклассы.
  • Обеспечить единообразие и структуру для иерархий классов.

Пример на Java:

abstract class Animal {
    abstract void makeSound();

    void breathe() {
        System.out.println("Дышит");
    }
}

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

Здесь Animal задаёт общий контракт для всех животных, а конкретные классы реализуют специфическое поведение.