Влияние классов ассоциации на операции OCL в новом отладчике MDriven

Я заметил, как класс ассоциации автоматически создавался одновременно с добавлением классов, от которых зависит класс ассоциации. Это, конечно, так и должно быть. Проблема с этим, однако, в том, что я обычно так и делаю, добавляя такие вещи, как целые числа в "новый отладчик":

action: 
Class.allinstances->at0(0) .attribute:=number

Но поскольку класс this не является многократно созданным и создан исключительно из-за его соединений с другими созданными классами, оператор at0 не работает.

Как я должен идти вместо этого? И вообще, на что следует обращать внимание при программировании в "новом отладчике" MDriven для ассоциативных классов?

1 ответ

Решение

После того, как у вас есть ассоциативные классы, вы должны знать следующее:

  1. Объект для LinkClass создается и удаляется в результате добавления объекта Class2 к ассоциации Class2 или объекта Class1 к ассоциации Class1.

  2. Для доступа к объекту LinkClass вы используете ассоциацию LinkRoleName, а для перехода от LinkClass обратно к Class1 или Class2 вы используете ассоциацию InnerLinkName. И LinkRoleName, и InnerLinkName устанавливаются в инспекторе объектов для концов ассоциации. У них будут имена по умолчанию, если они не определены.

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