나는이 기본 추상 클래스를위한 단일의 HashMap을 사용하여 HashMap<Integer, GameObject>...so I Can have access to theire shared members like
위치에 and
resourceId`에있는 이러한 개체 모음이 있어야합니다.여러 상속 클래스
어떻게해야합니까? 그렇지 않다면 대안은 무엇입니까?
UPDATE
그것은 실제로 HashMap
에 GameObject
의 서브 클래스를 넣을 수 있습니다 밝혀졌다.
int id = 1;
_hashMap.put(id++, new Home(ObjectType.HOME, id -1, resHome));
_hashMap.put(id++, new Normal(ObjectType.NORMAL, id -1, resNormal));
_hashMap.put(id++, new Snake(ObjectType.SNAKE, id -1, resSnakeOne, SnakeType.A));
하지만 지금 다시 항목을 얻고 싶은 경우에, 나는이 문제에 직면
Snake snake = _hashMap.get(3);
컴파일러는 GameObject
을 찾을 예정 불평하지만 Snake
... 여기에 문제가 뭐죠?
다른 클래스 (BaseAdapter에서 상속하는 클래스에 있음)의 해시 맵을 가지고 있으며 나중에이 객체에 모든 객체를 추가하여 나중에 getView
에 드로어 블 객체의 위치와 리소스를 제공 할 수 있습니다.
CAST를 사용하면 다시 변환 할 수 있지만 전체 아이디어가 사라집니다. 해시 맵의 키를 사용하여 모든 게임 개체를 가리키고 싶습니다 .... 어떤 키가 기억 나는지 기억해야합니다. 어떤 종류의 객체 :
GameObject obj = _hashMap.get(3);
Snake snake = (Snake) obj;
snake.getSnakeType();
자, 그럼 뭐가 문제입니까? –
당신은'HashMap'을 사용하고 있습니다. 키로 값 객체를 찾을 수 있습니다. 제발 좀 더 구체적으로 말씀해 주시겠습니까? –
Sage
GameObject에'protected static HashMap'필드를 가질 수 있습니다. 단일 HashMap이 정확히 무엇을 의미합니까? –