Предоставляет метод, который позволяет подклассам перекрывать части метода, не прибегая к переписыванию.
Общая логика выноситься в абстрактный класс, в то время как те места, которые могут (или должны) подвергаться изменениям в наследуемых классах выделяются в абстрактные методы, которые реализуются в наследниках. При этом эти абстрактные методы объявляются protected, чтобы избежать их прямого вызова извне. Такой подход позволяет избежать перекрытия большого куска логики (в противном случае пришлось бы перекрывать целыд метод templateMethod(), даже если изменения касаются всего нескольких строк), что ведёт к дублированию общих её частей в классах-потомках.
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет
studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав!Последнее добавление