Глянь мій новий курс по Git! Привіт! Глянь мій новий курс по Git! Привіт! Глянь мій новий курс по Git на GitByBit.com! Привіт! Хочеш класно освіжити Git? Глянь мій новий курс на GitByBit.com!

Підйом поля

Також відомий як: Pull Up Field

Проблема

Два класи мають одне і те ж поле.

Рішення

Перемістіть поле в суперклас, прибравши його з підкласів.

До
Pull Up Field - Before
Після
Pull Up Field - After

Причини рефакторингу

Підкласи розвивалися незалежно один від одного. Це привело до створення однакових (чи дуже схожих) полів і методів.

Переваги

  • Вбиває дублювання полів в підкласах.

  • Полегшує подальше перенесення дублюючих методів з підкласів в суперклас, якщо вони є.

Порядок рефакторингу

  1. Перевірте, чи обидва поля використовуються для однакових потреб в підкласах.

  2. Якщо поля мають різні назви, дайте їм спільне ім’я і замініть усі звернення до полів в існуючому коді.

  3. Створіть поле з таким же ім’ям в суперкласі. Зверніть увагу на те, що якщо поля були приватні (private), поле в суперкласі має бути захищеним (protected).

  4. Видаліть поля з підкласів.

  5. Можливо, має сенс використати самоінкапсуляцію поля для нового поля, щоби приховати його за методами доступу.