CLion 2023.1 Help

Extract subclass

Basics

The Extract Subclass refactoring enables extracting certain members of a class into a subclass.

Example

Before

After

Cl extract subclass before
Cl extract subclass after

To extract a Subclass

  1. Select the desired class in one of the views, or just open it in the editor.

  2. On the main menu or from the context menu, choose Refactor | Extract | Subclass.

  3. In the dialog that appears, specify the following information:

    • Name of the new subclass.

    • Members to be included in the subclass.

      Cl extract subclass dialog
  4. Proceed with the refactoring.

Extracting the class dependent members

Let's consider the following sample of code:

Cl extract subclass error1

As you can see, variable fv here depends on static constant d2. If you apply Extract Subclass refactoring to the above class and try to select d2 to be moved, and leave fv in the initial class, CLion highlights the problem member in Extract Subclass dialog, as following:

Cl extract subclass error2

Trying to proceed with extract, you will get the following warning message:

Cl extract subclass error3

Choose Continue to ignore the problem and proceed with refactoring, or Cancel to return back and resolve it. Also you can observe the conflict in Find Tool Window.

Last modified: 25 April 2023