0

该行:

test.address.postal_code = "12345";

将导致如下流程:

before-get test.address
    return test.address
after-get test.address
before-set test.address.postal_code
    set postal_code
after-set test.address.postal_code

在方面J。是否有一个将测试作为目标的切入点(例如 before-get test.adddres 和 after-get test.address)但会在 "after-set test.address.postal_code" 之后发生?

4

1 回答 1

1

不,因为您的代码行相当于:

Object address = test.address;
address.postal_code = "12345";

即两个字段访问(首先读取,然后写入)一个接一个地完成。以“流畅”的方式链接它们只是语法糖。顺便说一句,如果你的Test类可以直接访问Address成员,那么无论如何你都有封装问题,但这只是个人意见。

如果您想知道地址是否分配给另一个类的成员,您需要将状态保持在方面,这可能但有点脏。也许您想更改应用程序设计,而不是用 hacky 方面修补糟糕的设计。;-)

于 2015-01-13T06:07:08.830 回答