Переменные аргументы в конструкторе Java - PullRequest
0 голосов
/ 27 февраля 2012

Как я могу реализовать класс Car в примере ниже. Я могу передать коллекцию с колесом на отображение бренда, но есть ли лучший способ сделать это?

Автомобиль имеет двигатель и некоторое количество колес. Не все автомобили рассчитаны на четыре колеса, у некоторых только три, а у других больше. Но для чего бы они ни создавались, это максимальное количество, которое они могут хранить. Когда автомобиль построен (т.е. построен), для него создается двигатель, а также колеса, которые он будет использовать.

Ответы [ 2 ]

4 голосов
/ 27 февраля 2012
public class Car
{
    private Engine      e;
    private int         numWheels;
    private List<Wheel> wheels;

    public Car(Engine e, int numWheels, ...)
    {
       this.e         = e;
       this.numWheels = numWheels;
       this.wheels    = new ArrayList<>();

       for(int i = 0; i < this.numWheels; i++)
       {
           this.wheels.add(new Wheel(...));
       }
    }
}

Просто добавьте целое число, которое содержит количество колес, которое может иметь этот объект Car. Затем перейдите в конструктор и добавьте эти колеса

0 голосов
/ 27 февраля 2012

Есть много способов сделать это, но недостаточно информации, чтобы сказать, что может быть лучше.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...