我必须建模一个系统,其中类Person
的对象将调用类getBook(...) : Book
上的静态方法Book
,该方法将返回特定书籍的实例。
如何引用该操作获得的图书实例?
到目前为止,我可以想到两种方法,我从未见过/使用过这两种方法,这就是我正在寻找正确的方法的原因。
第一种方法是直接在获得的书籍实例上调用方法,例如如果getBook(...) : Book
返回的引用名为matchingBook
,我会使用matchingBook.doSomething(...)
,就像拥有一个局部变量一样。
第二种方法,我在序列图中找到更多的方法是让操作返回的书籍实例以其自己的生命线出现,例如:在Book类旁边,并使用标有doSomething(...)
的箭头引用它。
然而,使用第二种方法,这个对象实际上是操作返回的对象并不是那么明显。
答案 0 :(得分:3)
第二种方法是正确的。要显示您指向返回的对象(matchingBook
),可以将变量名称添加到生命线的标题中,如下所示:
答案 1 :(得分:2)
第二种方法是正确的方法。无论何时在第一次操作返回的对象上调用操作,都不能比第一次调用的结果和生命线之间的名称匹配更好。
无论如何,我真的不明白你对第一种方式的期望:你会把matchingBook.doSomething(...)
放在哪里?在指向哪条生命线的箭头上?