2013-11-11 3 views
0

Я создаю абстрактный класс GUIClickableObject, расширяющий класс GUIObject с абстрактным методом public void onClick(). Когда я создаю новый подкласс, расширяющий GUIClickableObject, я создаю абстрактный метод onClick() в зависимости от действия объекта Clickable.Вызов абстрактного метода из группы абстрактных подклассов

У меня есть позиция мыши и позиция объекта, поэтому я могу легко найти ее, но мне нужно создать функцию поиска, которая выполняет поиск по моим объектам GUIClickable, а затем вызывает их метод onClick(), если щелчок мышью и его удаление на объекте ,

  • а) создать ArrayList/Array/группу, которая содержит различные подклассы GUIClickable объекта,
  • б) итерацию через них, и с) затем вызвать абстрактное «) OnClick (» метод?

По-видимому, я не могу просто создать ArrayList из GUIClickableObjects и вставить в него мои подклассы, верно?

+0

Опубликовать соответствующую часть (ы) вашего кода. –

ответ

0

Я думаю, что вы хотите это обобщен список

List<? extends GUIClickableObjects> gcos = new ArrayList<? extends GUIClickableObject>(); 

Теперь вы можете добавить любой подкласс GUIClickableObject.

0

По-видимому, я не могу просто создать ArrayList из GUIClickableObjects и вставить в него мои подклассы, верно?

Почему это так. вы должны иметь возможность создать arraylist, который будет принимать объекты подкласса GUIClickableObjects. В случае, если вы хотите конкретно проверить объект принадлежит к которому подклассов вы можете просто сделать «экземпляр» проверить

How to check if a subclass is an instance of a class at runtime?

Более просьба уточнить, что вы думаете или облицовку.