これは、既存のコードを変更しますが、コードが追加されません
全てのクラスを扱っていない、に対処するための唯一のインタフェースと実装クラス合計
パブリッククラスCilent {
public static void main(String[] args) {
Car c1=new AudiFactory().createCar();
Car c2=new ByadiFactory().createCar();
Car c3=new BenzFactory().createCar();
c1.run();
c2.run();
c3.run();
}
}
インタフェース:
パブリックインターフェイスカー{
void run();
}
实现1:
public class Benz implements Car {
public void run()
{
System.out.println("Benz");
}
}
实现2:
public class Byadi implements Car{
public void run()
{
System.out.println("Byadi");
}
}
3を実現:
public class Audi implements Car {
public void run()
{
System.out.println("Audi");
}
}
工場:
インターフェース:
public interface CarFactory {
Car createCar();
}
1を実現。
public class AudiFactory implements CarFactory{
public Car createCar()
{
return new Audi();
}
}
2を達成するために:
public class BenzFactory implements CarFactory {
public Car createCar()
{
return new Benz();
}
}
3を達成。
public class ByadiFactory implements CarFactory {
public Car createCar()
{
return new Byadi();
}
}