added lab2 ex1
This commit is contained in:
8
src/learn/simple_factory_method/ConcreteCreator.java
Normal file
8
src/learn/simple_factory_method/ConcreteCreator.java
Normal file
@ -0,0 +1,8 @@
|
||||
package learn.simple_factory_method;
|
||||
|
||||
public class ConcreteCreator extends Creator {
|
||||
@Override
|
||||
public Product factoryMethod() {
|
||||
return new ConcreteProduct("Product");
|
||||
}
|
||||
}
|
14
src/learn/simple_factory_method/ConcreteProduct.java
Normal file
14
src/learn/simple_factory_method/ConcreteProduct.java
Normal file
@ -0,0 +1,14 @@
|
||||
package learn.simple_factory_method;
|
||||
|
||||
public class ConcreteProduct implements Product {
|
||||
private String category;
|
||||
|
||||
public ConcreteProduct(String category) {
|
||||
this.category = category;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "ConcreteProduct('" + category + "')";
|
||||
}
|
||||
}
|
10
src/learn/simple_factory_method/Creator.java
Normal file
10
src/learn/simple_factory_method/Creator.java
Normal file
@ -0,0 +1,10 @@
|
||||
package learn.simple_factory_method;
|
||||
|
||||
public abstract class Creator {
|
||||
abstract public Product factoryMethod();
|
||||
|
||||
public void anOperation() {
|
||||
Product product = this.factoryMethod();
|
||||
System.out.println("Do something with product " + product);
|
||||
}
|
||||
}
|
8
src/learn/simple_factory_method/Main.java
Normal file
8
src/learn/simple_factory_method/Main.java
Normal file
@ -0,0 +1,8 @@
|
||||
package learn.simple_factory_method;
|
||||
|
||||
public class Main {
|
||||
public static void main(String[] args) {
|
||||
Creator creator = new ConcreteCreator();
|
||||
creator.anOperation();
|
||||
}
|
||||
}
|
4
src/learn/simple_factory_method/Product.java
Normal file
4
src/learn/simple_factory_method/Product.java
Normal file
@ -0,0 +1,4 @@
|
||||
package learn.simple_factory_method;
|
||||
|
||||
public interface Product {
|
||||
}
|
Reference in New Issue
Block a user