Sobes.tech
Back to questions
Junior — Middle
75

Можно ли объявить Entity как абстрактный класс в объектно-ориентированном программировании?

Answer from AI

sobes.tech AI

Да, в Java можно объявить класс как абстрактный с помощью ключевого слова abstract. Абстрактный класс не может быть инстанцирован напрямую и может содержать как абстрактные методы (без реализации), так и обычные методы с реализацией.

Если у вас есть сущность (Entity), которую вы хотите сделать базовой для других классов, и при этом хотите, чтобы она задавала общий интерфейс или поведение, но не создавалась сама по себе, то объявление её абстрактным классом — правильный подход.

Пример:

public abstract class Entity {
    private int id;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    // Абстрактный метод, который должны реализовать подклассы
    public abstract void save();
}

Подклассы будут наследовать Entity и реализовывать метод save().