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 |