Влияние классов ассоциации на операции OCL в новом отладчике MDriven
Я заметил, как класс ассоциации автоматически создавался одновременно с добавлением классов, от которых зависит класс ассоциации. Это, конечно, так и должно быть. Проблема с этим, однако, в том, что я обычно так и делаю, добавляя такие вещи, как целые числа в "новый отладчик":
action:
Class.allinstances->at0(0) .attribute:=number
Но поскольку класс this не является многократно созданным и создан исключительно из-за его соединений с другими созданными классами, оператор at0 не работает.
Как я должен идти вместо этого? И вообще, на что следует обращать внимание при программировании в "новом отладчике" MDriven для ассоциативных классов?
1 ответ
После того, как у вас есть ассоциативные классы, вы должны знать следующее:
Объект для LinkClass создается и удаляется в результате добавления объекта Class2 к ассоциации Class2 или объекта Class1 к ассоциации Class1.
Для доступа к объекту LinkClass вы используете ассоциацию LinkRoleName, а для перехода от LinkClass обратно к Class1 или Class2 вы используете ассоциацию InnerLinkName. И LinkRoleName, и InnerLinkName устанавливаются в инспекторе объектов для концов ассоциации. У них будут имена по умолчанию, если они не определены.