디자인 모델 의 간단 한 공장 모델 에 반사
아래 코드 중 하 나 는 다섯 가지 종류 입 니 다.
TestSimple Factory 는 테스트 용 구동 입 니 다.
IAnimal 은 동물 류 의 걷 기 go 방법 을 설명 하 는 인터페이스 이다.
Chicken 은 IAnimal 인 터 페 이 스 를 실현 하여 병아리, Chicken 은 go 를 실현 했다.치킨 런 을 간단하게 출력 할 뿐 입 니 다.병아리 의 걷 는 방식 은 달 리 는 것 이다.
Duck 도 IAnimal 인 터 페 이 스 를 실현 해 오리 새끼, Duck 은 go 를 실현 했다.간단 한 출력 Duck 입 니 다.새끼 오리 의 걷 는 방식 은 수영 이다.
Animal Factory 는 병아리 나 오 리 를 생산 하 는 간단 한 공장 이다.
TestSimpleFactory.java
public class TestSimpleFactory {
public
static
void
main(String[] args) {
- PropertyReader reader=new PropertyReader("factory.properties");
- String type=reader.getProperty("factory");
- IAnimal animal=AnimalFactory.createAnimal(type);
- animal.go();
- }
-
- }
IAnimal.java
- public interface IAnimal {
- void go();
- }
Chicken.java
- public class Chicken implements IAnimal{
-
- public void go() {
- System.out.println("Chicken Run");
- }
-
- }
Duck.java
- public class Duck implements IAnimal {
-
- public void go() {
- System.out.println("Duck Swim");
- }
-
- }
AnimalFactory.java
- public class AnimalFactory {
-
- public static IAnimal createAnimal(String name)
- {
- try {
- Class c=Class.forName(name);
- return (IAnimal)c.newInstance();
- } catch (ClassNotFoundException e) {
- System.out.println("This class doesn't exsist!");
- e.printStackTrace();
- } catch (InstantiationException e) {
- System.out.println("This class can't be instantiated!");
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- }
- return null;
- }
- }
그 중에서 구체 적 으로 만 들 대상 은 factory. properties 에서 방지 합 니 다.
동물 의 자 류 를 예화 할 때 반 사 를 썼 다.
factory. properties 의 내용 은:
- factory=neu.swc.tzy.Car
속성 파일 읽 기 방법:http://snowteng17.blog.51cto.com/1532294/330459
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
디자인 모델 의 공장 모델, 단일 모델자바 는 23 가지 디자인 모델 (프로 그래 밍 사상/프로 그래 밍 방식) 이 있 습 니 다. 공장 모드 하나의 공장 류 를 만들어 같은 인 터 페 이 스 를 실현 한 일부 종 류 를 인 스 턴 스 로 만 드 는 것...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.