コンストラクターをビルダーに置換
コンストラクターをビルダーに置換リファクタリングは、コンストラクターを非表示にし、その使用箇所を新しく生成されたビルダークラスへの参照、または既存のビルダークラスへの参照に置き換えます。
置き換えられるコンストラクター呼び出しにキャレットを置きます。
メインメニューまたはコンテキストメニューで、
を選択します。開いたダイアログで、必要に応じて、提案された setter 名を変更します。ビルダーで生成されたフィールドを初期化するかどうかを指定します。
コンストラクター呼び出しでパラメーター値と一致する初期値を指定する場合は、Optional の setter チェックボックスを選択することにより、そのようなパラメーターの setter メソッドをスキップできます。新しいビルダーを作成するか、既存のビルダーを使用するかを指定することもできます。変更をプレビューして適用します。
例
前 | 後 |
---|---|
public class apples {
public static void main(String[] args){
variety varietyObject = new variety("Red Delicious");
varietyObject.saying();
}
}
// variety class
public class variety{
private String string;
// constructor
public variety(String name){
string = name;
}
public void setName(String name) {
string = name;
}
public String getName() {
return string;
}
public void saying(){
System.out.printf("On sale today : %s\n", getName());
}
}
|
// variety builder is created
public class varietyBuilder {
private String name;
public varietyBuilder setName(String name) {
this.name = name;
return this;
}
public variety createVariety() {
return new variety(name);
}
}
// varietyBuilder added instead of constructor to the main class "apples.java"
public class apples {
public static void main(String[] args){
variety varietyObject = new varietyBuilder().setName("Red Delicious").createVariety();
varietyObject.saying();
}
}
|
関連ページ:

コードリファクタリング
リファクタリングは、新しい機能を作成せずにソースコードを改善するプロセスです。リファクタリングは、コードを安定した dry に保ち、保守を容易にできます。リファクタリングの呼び出し:リファクタリングするアイテムを選択します。エディターでプロジェクトツールウィンドウまたは式 / シンボルでファイル / フォルダーを選択できます。選択可能なリファクタリングのリストを開くには、を押します。または、特定のリファクタリング用のキーボードショートカットを使用することもできます。リファクタリングを元に戻す必要...

名前の変更リファクタリング
名前の変更リファクタリングを使用して、コード全体でシンボル、ファイル、ディレクトリ、パッケージ、モジュール、それらへのすべての参照の名前を変更します。限定されたスコープだけが影響を受けるため、ローカル変数またはプライベートメソッドの名前変更はインラインで簡単に行うことができます。クラスやパブリックメソッドの名前を変更すると、多くのファイルに影響を与える可能性があります。リファクタリングする前に、潜在的な変更をプレビューします。インターフェースで宣言されているメソッドの名前を変更すると、それらの実...

コンストラクターをファクトリメソッドに置換
コンストラクターをファクトリメソッドで置換リファクタリングでは、コンストラクターを非表示にして、クラスの新しいインスタンスを返す静的メソッドに置き換えることができます。クラスコンストラクターを選択します。メインまたはコンテキストメニューで、を選択します。開いたダイアログで、ファクトリメソッドの名前とメソッドを作成するクラスを指定します。変更をプレビューして適用します。例:// File Class.java public class Class { public Class(String s)