WedX - журнал о программировании и компьютерных науках

Что такое объединение 2 классов в 1 класс, где один класс является подклассом другого?

У меня есть:

  • абстрактный класс А
  • абстрактный класс B, который расширяет A
  • нет других классов, расширяющих A, кроме B
  • другие классы, которые расширяют B

Чтобы уменьшить количество классов, я хочу, чтобы A и B были объединены в один класс, и пусть другие классы расширяются из нового объединенного класса.

Как называется этот рефакторинг?

P.S. В моей реализации это на Java, можно ли этот рефакторинг сделать автоматически в IntelliJ?


  • Зачем тебе это? Вы имеете в виду, что никогда не будет другого класса, расширяющего A, который должен делать что-то иначе, чем B? Во-первых, вспомните, почему вы создали два класса, а затем начните думать, хорошая ли это идея. 04.03.2015
  • @Stultuske Да, я понимаю, что ты имеешь в виду. Сейчас я занимаюсь очисткой старого кода, написанного устаревшими людьми, и теперь я совершенно уверен, что A никогда не будет расширен, кроме B. 04.03.2015
  • Как называется этот рефакторинг? Это его имя. 04.03.2015

Ответы:


1

Встроенный суперкласс IntelliJ выполняет слияние суперкласса с подклассом.

Встроенный суперкласс

04.03.2015
  • Спасибо! Я не думал, что это будет называться встроенным! 04.03.2015

  • 2

    Вы будете встраивать класс A, и intellij поддерживает это. Просто щелкните правой кнопкой мыши имя класса и выберите «рефакторинг» во всплывающем окне, и встраивание класса должно быть опцией.

    04.03.2015
    Новые материалы

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..


    Для любых предложений по сайту: [email protected]