(Java новичок) Создание неизвестного количества объектов - PullRequest
0 голосов
/ 29 ноября 2009

Java / OO вопрос новичка:

main создает экземпляр Track класса. Теперь я хочу, чтобы этот объект - track1 - создал множество Clip объектов, число которых не будет известно до времени выполнения. Из класса Track я могу создать новый Clip, например:

Clip clip1 = new Clip(); // this is track1.clip1 from main

Но когда я хочу добавить больше клипов на основе пользовательского ввода, как и где мне это сделать? От main, что-то вроде:

Clip track1.clipX = new Clip();

Как мне назвать и ссылаться на Clip объекты, когда я не знаю, сколько их будет?

Ответы [ 2 ]

7 голосов
/ 29 ноября 2009

Вы бы использовали коллекцию (например, список или набор) для хранения нескольких объектов Clip:

int numberOfClips = 10;
List<Clip> clips = new ArrayList<Clip>();
for (int i = 0; i < numberOfClips; i++) {
    Clip clip = new Clip();
    clips.add(clip);
}

Это добавит 10 объектов Clip к массиву clips. Вместо жесткого кодирования в 10, вы можете установить numberOfClips на основе ввода пользователя.

Страница Список документов Java описывает все методы, которые вы можете вызывать в списках, чтобы показать вам, как получить элементы в списке, удалить элементы из списка и т. Д.

3 голосов
/ 29 ноября 2009

Почему бы вам не использовать List для удержания клипов в Track?

public class Track {
    ...
    List<Clip> clips;

    void addClip(Clip clip) {
        ...
    }
}

И что-то подобное для Clip:

public class Clip {
    private int index;
    private String name;
    ...
}

А из main:

Track track = new Track();
Clip aClip = new Clip(1, "clip name");
track.addClip(aClip);
Clip anotherClip = new Clip(2, "another name");
track.addClip(anotherClip);
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...