Extract Superclass(スーパークラスの抽出)


HOME > プログラミング > リファクタリング > Extract Superclass リファクタリング プログラムの体質改善テクニック

Extract Superclassとはクラスの一部を切り出してスーパークラス(親クラス)を作成することです。
複数のクラスにまたがった共通の機能を、一カ所にまとめることができます。

参照:Extract Interface

リファクタリング前:

public class Truck
{
	public PutGasPerGalon(int galon)
	{
		//...
	}
	
	public RunMiles(int miles)
	{
		//...
	}


	public LoadCargo(Cargo cargo)
	{
		//...
	}
}


public class Car
{
	public PutGasPerGalon(int galon)
	{
		//...
	}
	
	public RunMiles(int miles)
	{
		//...
	}
	
	public LoadFriend(Friend friend)
	{
		//...
	}
}

リファクタリング後:

public class Vehicle
{
	public PutGasPerGalon(int galon)
	{
		//...
	}
	
	public RunMiles(int miles)
	{
		//...
	}
}
	  
public class Truck : Vehicle
{
	public LoadCargo(Cargo cargo)
	{
		//...
	}
}


public class Car : Vehicle
{
	public LoadFriend(Friend friend)
	{
		//...
	}
}

Copyright(c) 2012 WoodenSoldier Software