abstract class Factory2 {
public abstract String getA();
public abstract int getB();
@Override
public String toString() {
return "ㅇㅇ" + getA() + "ㄴㄴ" + getB();
}
}
class Test extends Factory2 {
private String A;
private int B;
public Test(String A, int B) {
this.A = A;
this.B = B;
}
@Override
public String getA() {
return this.A;
}
@Override
public int getB() {
return this.B;
}
}
class TestFactory {
public static Factory2 getFactory(String A, int B) {
if ("AA".equals(A)) {
if (B == 11) {
return new Test(A, B);
}
}
return null;
}
}
public class Factory {
public static void main(String[] args) {
Factory2 F1 = TestFactory.getFactory("AA", 11);
System.out.println(F1.toString()); //ㅇㅇAAㄴㄴ11 이 출력된다.
}
}
반응형
'Code 예제' 카테고리의 다른 글
빌더 패턴 (0) | 2018.12.26 |
---|---|
싱글톤 패턴 예제 (0) | 2018.12.17 |
더블링크드 리스트 예제 (0) | 2018.12.17 |
피보나치 수열 시간복잡도 개선 (0) | 2018.12.17 |
제너릭 (0) | 2018.12.17 |