Junior — Middle
145
Milyen helyzetekben ajánlott absztrakt osztályt alkalmazni az objektumorientált tervezésben?
Cégeket kérdeztek
А Деньги
Válasz az MI-től
sobes.tech MI
Абстрактный класс рекомендуется использовать, когда нужно задать общий шаблон для группы связанных классов, но при этом нельзя создать экземпляр самого абстрактного класса. Он позволяет определить общие методы и поля, а также объявить абстрактные методы, которые должны быть реализованы в подклассах.
Ситуации применения:
- Когда несколько классов имеют общую функциональность, которую можно реализовать в базовом абстрактном классе.
- Когда нужно обеспечить частичную реализацию, оставляя детали реализации подклассам.
- Когда требуется задать контракт (через абстрактные методы), но при этом предоставить некоторую общую логику.
Пример:
abstract class Animal {
void breathe() {
System.out.println("Дышит");
}
abstract void makeSound();
}
class Dog extends Animal {
@Override
void makeSound() {
System.out.println("Гав-гав");
}
}
Здесь Animal — абстрактный класс с общей реализацией дыхания и абстрактным методом звука.