Абстрактные классы
Абстрактные классы в программировании позволяют создать механизм, который позволял бы описать общие свойства объектов, реализовать одинаковые для всех методы так, чтобы разработчик классов-наследников мог реализовывать только отличающиеся части. Абстрактный класс, как и обычный, содержит поля и методы, но нельзя создать экземпляр абстрактного класса. Также в отличие от обычного класса, абстрактный может содержать методы без реализации (абстрактные).
Абстрактные методы (могут быть только внутри абстрактного класса) не содержат реализации и обязательно должны быть переопределены в потомках.
Пример: создание абстрактного класса геометрических фигур (класс обобщает свойства различных фигур):
abstract class Figure {
private Color fillColor;
public Color(Color fillColor) {
this.fillColor = fillColor;
}
public Color getFillColor() {
return fillColor;
}
public abstract double getPerimeter();
public abstract double getArea();
}
Подробнее >
Подробнее в лекции: лекция «3.4. Основы ООП - абстракции и интерфейсы» из «Блок 3. Основы ООП».