2013-08-02 5 views
0

Я искал везде, но я не могу найти ответ на этот вопрос.Передача экземпляра класса в другой класс

Если у меня есть один класс (скажем, класс ресурсов) и другой класс (скажем, класс Sprite), и каждый раз, когда я создаю спрайт, я передаю ссылку на мой класс ресурсов (потому что это требуется для некоторой функции) - Правильно ли я предполагаю, что все это создает ссылку на этот экземпляр указанного класса?

Так что - если мой Sprite конструктор это:

public Sprite(Resource res){ 

res.doSomething........ 

} 

И создать 100 спрайтов, то это не будет вызывать проблемы, потому что это просто передавая ссылку или «указатель»? (в отличие от создания нового экземпляра каждый раз).

Простой вопрос, который я знаю, но я хочу убедиться, что я понимаю, что здесь происходит, и я не мог найти ответ на это в любом месте.

+0

Это довольно легко проверить. Просто измените переменные данных элемента переданного объекта и посмотрите, сохранились ли изменения. –

+1

Все ваши предположения верны, да. – Michelle

+0

Если вы используете один и тот же ресурс каждый раз, когда вы создаете новый «Sprite», у вас будет 1 объект «Ресурс», который используется в каждом спрайте. –

ответ

3

Да, если вы создаете новый Sprite и передать его существующий Resource, новый спрайт будет просто иметь ссылку к вашему оригинальному объекту.

So 100 Sprites имеет 100 ссылок на ваш 1 ресурс.

0

Да, вы должны создать eachtime в new экземпляр класса для вызова doSomething() этого конкретного instance.

Смежные вопросы