以下の抽象メソッドの例を示します。ファクトリメソッドパターンの柔軟性を実現する方法
public interface Product {
public void draw();
public void move();
}
public abstract class Creator {
public Product anOperation() {
Product product = factoryMethod();
return product;
}
public abstract Product factoryMethod();
}
public class ConcreateProduct1 implments Product {
public void draw() {
}
public void move():
}
}
public class ConcreteCreator1 extends Creator {
public Product factoryMethod() {
return new ConcreateProduct1();
}
}
public class Client {
public static void main(String arg[]) {
Creator creator = null;
creator = new ConcreteCreator1();
creator.anOperation().move();
}
}
これまでのところ、私は新製品を追加する柔軟性を知っていますが、ファクトリメソッドパターンの主な利点です。
以下の例では達成できない柔軟性をどのように実現するのか、誰でも説明できますか?一般的に
public class ConcreateProduct1 {
public void draw() {
}
public void move():
}
}
public class Client {
public static void main(String arg[]) {
ConcreateProduct1 creator = new ConcreteCreator1();
creator.move();
}
}
ここにタイプミスがあります。主な方法では、ConcreateProduct1 product1 =新しいConcreateProduct1()という意味ですか? – Pavan