Java의 enum에서 객체를 반환하는 방법은 무엇입니까?

Siddharth

동일한 인터페이스를 구현하는 여러 클래스가 있습니다. 이러한 모든 클래스의 개체는 기본 클래스에서 인스턴스화되어야합니다. 나는이 일을 우아한 방식으로 할 수있는 방식으로하려고합니다 (나는 열거 형을 통해 생각했습니다). 예제 코드 :-

public interface Intr {
//some methods
}

public class C1 implements Intr {
// some implementations
}

public class C2 implements Intr {
// some implementations
}

...

public class Ck implements Intr {
// some implementations
}


public class MainClass {

enum ModulesEnum {
//Some code here to return objects of C1 to Ck
 FIRST {return new C1()},
 SECOND {return new C2()},
 ...
 KTH  {return new Ck()};
}

}

이제 위의 예에서 클래스 C1의 새 객체 인스턴스를 Ck로 가져올 수있는 우아한 방법에 대해 설명합니다. 또는 enum 대신 다른 더 나은 메커니즘도 높이 평가됩니다.

실비 우 부르 체아
enum ModulesEnum {

  FIRST(new C1()), SECOND(new C2()); // and so on

  private ModulesEnum(Intr intr) { this.obj = intr; }
  private Intr obj;

  public Intr getObj() { return obj; }

}

도움이되기를 바랍니다. 트릭은 모든 열거 형에 구현을 추가하는 것입니다. 객체에 액세스하려면 getter를 사용하십시오.

ModulesEnum.FIRST.getObj();

귀하 Intr와 해당 구현이 package protected이면 ModulesEnum공개로 설정하여 구현을 노출 할 수 있습니다 . 이렇게하면 구현 당 하나의 인스턴스 만 가질 수 singleton있으므로 패턴을 명시 적으로 사용하지 않고 만들 수 있습니다 .

물론 Factory모든 구현에 대해 여러 인스턴스를 가지려는 경우에도를 사용할 수 있습니다 .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Python의 메서드에서 객체를 반환하는 방법은 무엇입니까?

분류에서Dev

jquery 게시물에서 반환 한 json 객체의 키를 확인하는 방법은 무엇입니까?

분류에서Dev

Helm 함수의 템플릿에서 맵 객체를 반환하는 방법은 무엇입니까?

분류에서Dev

루비에서 반환 된 불일치 유형의 객체를 수정하는 방법은 무엇입니까?

분류에서Dev

MVC의 JsonResult 객체에서 대용량 데이터를 반환하는 방법은 무엇입니까?

분류에서Dev

자바 스크립트의 객체 값에서 키를 반환하는 방법은 무엇입니까?

분류에서Dev

createStatement () 메서드가 Statement의 객체를 반환하는 방법은 무엇입니까?

분류에서Dev

Java에서 모든 클래스의 객체를 맵으로 변환하는 방법은 무엇입니까?

분류에서Dev

배열 내부의 객체를 반환하는 방법은 무엇입니까?

분류에서Dev

(Java) Java의 JList에서 동시에 많은 객체를 저장하는 방법은 무엇입니까?

분류에서Dev

sails.js의 다른 작업에서 반환 된 객체를 얻는 방법은 무엇입니까?

분류에서Dev

TypeScript : 배열에서 객체를 찾고 특정 객체를 반환하는 방법은 무엇입니까?

분류에서Dev

MbElement []를 Java에서 ESQL로 반환하는 방법은 무엇입니까?

분류에서Dev

java.util.Date 유형으로 JavaScript 객체에서 반환하는 방법은 무엇입니까?

분류에서Dev

R의 igraph 객체에서 트리를 얻는 방법은 무엇입니까?

분류에서Dev

AngularJS에서 Resource 객체의 키를 얻는 방법은 무엇입니까?

분류에서Dev

android의 firebase에서 객체를 얻는 방법은 무엇입니까?

분류에서Dev

JSON 내에서 객체의 길이를 얻는 방법은 무엇입니까?

분류에서Dev

Backbone의 객체에서 요소를 얻는 방법은 무엇입니까?

분류에서Dev

Java의 다른 메소드에서 일반 객체로 일반 객체를 전달하는 방법은 무엇입니까?

분류에서Dev

Java의 클래스 내에서 객체의 ArrayList를 선언하는 방법은 무엇입니까?

분류에서Dev

mongoDB에서 객체 내부의 객체를 삭제하는 방법은 무엇입니까? 파이썬

분류에서Dev

React의 다른 객체에서 객체를 찾고 배열하는 방법은 무엇입니까?

분류에서Dev

Rails-다 대다 관계에서 각 객체의 객체를 나열하는 방법은 무엇입니까?

분류에서Dev

PHP에서 Javascript의 배열로 객체를 변환하는 방법은 무엇입니까?

분류에서Dev

android에서 arraylist의 객체를 JsonObject로 변환하는 방법은 무엇입니까?

분류에서Dev

$ asArray가 반환 한 목록에서 반환 된 객체를 확장하는 방법은 무엇입니까?

분류에서Dev

javascript를 사용하여 함수에서 반환되는 객체의 속성에 액세스하는 방법은 무엇입니까?

분류에서Dev

C3.ai COVID-19 Datalake의 가져 오기 API에서 가져 오기 반환 객체를 CSV로 변환하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    Python의 메서드에서 객체를 반환하는 방법은 무엇입니까?

  2. 2

    jquery 게시물에서 반환 한 json 객체의 키를 확인하는 방법은 무엇입니까?

  3. 3

    Helm 함수의 템플릿에서 맵 객체를 반환하는 방법은 무엇입니까?

  4. 4

    루비에서 반환 된 불일치 유형의 객체를 수정하는 방법은 무엇입니까?

  5. 5

    MVC의 JsonResult 객체에서 대용량 데이터를 반환하는 방법은 무엇입니까?

  6. 6

    자바 스크립트의 객체 값에서 키를 반환하는 방법은 무엇입니까?

  7. 7

    createStatement () 메서드가 Statement의 객체를 반환하는 방법은 무엇입니까?

  8. 8

    Java에서 모든 클래스의 객체를 맵으로 변환하는 방법은 무엇입니까?

  9. 9

    배열 내부의 객체를 반환하는 방법은 무엇입니까?

  10. 10

    (Java) Java의 JList에서 동시에 많은 객체를 저장하는 방법은 무엇입니까?

  11. 11

    sails.js의 다른 작업에서 반환 된 객체를 얻는 방법은 무엇입니까?

  12. 12

    TypeScript : 배열에서 객체를 찾고 특정 객체를 반환하는 방법은 무엇입니까?

  13. 13

    MbElement []를 Java에서 ESQL로 반환하는 방법은 무엇입니까?

  14. 14

    java.util.Date 유형으로 JavaScript 객체에서 반환하는 방법은 무엇입니까?

  15. 15

    R의 igraph 객체에서 트리를 얻는 방법은 무엇입니까?

  16. 16

    AngularJS에서 Resource 객체의 키를 얻는 방법은 무엇입니까?

  17. 17

    android의 firebase에서 객체를 얻는 방법은 무엇입니까?

  18. 18

    JSON 내에서 객체의 길이를 얻는 방법은 무엇입니까?

  19. 19

    Backbone의 객체에서 요소를 얻는 방법은 무엇입니까?

  20. 20

    Java의 다른 메소드에서 일반 객체로 일반 객체를 전달하는 방법은 무엇입니까?

  21. 21

    Java의 클래스 내에서 객체의 ArrayList를 선언하는 방법은 무엇입니까?

  22. 22

    mongoDB에서 객체 내부의 객체를 삭제하는 방법은 무엇입니까? 파이썬

  23. 23

    React의 다른 객체에서 객체를 찾고 배열하는 방법은 무엇입니까?

  24. 24

    Rails-다 대다 관계에서 각 객체의 객체를 나열하는 방법은 무엇입니까?

  25. 25

    PHP에서 Javascript의 배열로 객체를 변환하는 방법은 무엇입니까?

  26. 26

    android에서 arraylist의 객체를 JsonObject로 변환하는 방법은 무엇입니까?

  27. 27

    $ asArray가 반환 한 목록에서 반환 된 객체를 확장하는 방법은 무엇입니까?

  28. 28

    javascript를 사용하여 함수에서 반환되는 객체의 속성에 액세스하는 방법은 무엇입니까?

  29. 29

    C3.ai COVID-19 Datalake의 가져 오기 API에서 가져 오기 반환 객체를 CSV로 변환하는 방법은 무엇입니까?

뜨겁다태그

보관