Могу ли я добавить более одного поля к одному атрибуту

Мне было интересно, можно ли добавить 2 разных атрибута к одному атрибуту. Например, у меня есть два атрибута:

private var modelYear:int as ModelYear
private var manufacturedCd:String as ManufacturerCd

Я хотел бы поместить оба этих атрибута в один атрибут под названием "personalVehicle". Тогда я могу получить эти значения из personalVehicle в другом классе.

Чтобы уточнить мой вопрос:

  1. Могу ли я добавить два атрибута в один атрибут с именем personalVehicle?
  2. Если это так, как я могу получить только modelYear из атрибута personalVehicle в другом классе?

Спасибо

1 ответ

Решение

Я предполагаю, что вы используете Gosu в одном из приложений Guidewire (отсюда и тег guidewire).

В этих приложениях у вас есть доступ к классу gw.util.Pair, который в основном является контейнером для двух значений.

var personalVehicle = new Pair<Integer, String>(2010, "something")

Вы можете получить доступ к сохраненным значениям через Первое и Второе свойства.

print(personalVehicle.First) //prints 2010
print(personalVehicle.Second) //prints "something"

Обратите внимание, что Первый и Второй ничего не говорят вам о том, что хранится в этих свойствах. В вашем случае (особенно если вы хотите передать свой personalVehicle другому классу), может быть лучше определить отдельные классы хранения модели Year и ManufacturerCd.

class PersonalVehicle {
    private var modelYear : int as ModelYear
    private var manufacturedCd : String as ManufacturerCd
}

Использование такого класса сделает ваш код более читабельным.

Другие вопросы по тегам