Scalaでトレイトを抽出する
トレイトを抽出 リファクタリングを使用すると、選択したメンバーを Scala クラス、オブジェクト、トレイトから新しいトレイトに抽出できます。 IntelliJ IDEA は def、 val、 var タイプのメンバーをサポートします。
トレイトを抽出する
エディターで、リファクタリングするコードメンバーを選択します。
メインメニューで へ移動します。
または、エディターの任意の場所を右クリックしてコンテキストメニューを開き、 を選択します。
表示されるダイアログで、新しいトレイト名を入力し、抽出したいメンバーを選択します。
抽出するメンバー セクションにリストされているすべてのメンバーを選択する必要がある場合は、最初に Ctrl+A を押してから Space を押します。

をクリックして リファクタリング します。
サンプル
いくつかのメソッドを持つ Calculator クラスを作成し、メソッドの 1 つ(mul )をトレイトに抽出しましょう。
IntelliJ IDEA は、定義本体とともに mul メソッドを含む新しいトレイト Multiplier を作成します。 クラス Calculator は、トレイト Multiplier を拡張します。
トレイト抽出ダイアログのリファレンス
項目 | 説明 |
|---|---|
トレイトを抽出する | このフィールドには、メンバーを抽出しようとしているクラス、オブジェクト、トレイトの名前が含まれています。 |
トレイト名 | このフィールドを使用して、新しいトレイトの名前を入力します。 |
トレイトのパッケージ | このフィールドを使用して、新しく作成されたトレイトのパッケージを追加します。 元のクラス、オブジェクト、抽出元のトレイトと同じパッケージを使用することをお勧めします。 |
抽出するメンバー | この領域を使用して、抽出するメンバーを選択します。 抽象として抽出チェックボックスが選択されている場合、新しいトレイトには定義本体のない宣言のみが含まれます。 例: このような場合、ボディを含まない抽象メソッドは元のクラスでオーバーライドされ、定義はそこに残されます。 このチェックボックスが選択されていない場合、メソッドは 例のように定義された新しいトレイトに移動します。 |