W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
此功能僅在 Ultimate 版本中得到支持。
對(duì)于 aspect 來說,IntelliJ IDEA 支持大部分基本的重構(gòu),例如移動(dòng)(Move)和重命名(Rename)。除此之外,您還可以為類型間聲明執(zhí)行 Push ITD In 重構(gòu)。
在 Push ITD In 重構(gòu)中,您可以將字段和方法的定義從各個(gè) aspect 移至相應(yīng)的類。(重構(gòu)名稱中的 ITD 代表 Inter-Type 聲明。)
可以針對(duì)單個(gè)字段或方法、整個(gè) aspect 或包中的所有 aspect 執(zhí)行重構(gòu)。
如果執(zhí)行重構(gòu)時(shí)某些 aspect 變?yōu)椤癳mpty”(當(dāng)相關(guān)的 aspect 只包含類型聲明時(shí),可能會(huì)發(fā)生這種情況),則你可以選擇自動(dòng)刪除所有這些 aspect。
下表顯示了 Push ITD In 重構(gòu)的示例。
在第一個(gè)例子中,closed 字段的聲明從 MyAspect aspect 移動(dòng)到類 Account。
在第二個(gè)示例中,該方法 close() 也從 MyAspect 移至 Account。
注意,如果為整個(gè) MyAspect aspect 執(zhí)行了重構(gòu),則這兩種聲明(即,聲明 closed 和 close())可以被移動(dòng)到類 Account。
示例一
操作前:
aspect myAspect {
boolean Account.closed = false;
void Account.close() {
closed = true;
}
// some code here
}
class Account {
// some code here
}
操作后:
aspect myAspect {
void Account.close() {
closed = true;
}
// some code here
}
class Account {
// some code here
boolean closed = false;
}
示例二
操作前:
aspect MyAspect {
void Account.close() {
closed = true;
}
// some code here
}
class Account {
// some code here
boolean closed = false;
}
操作后:
aspect MyAspect {
// some code here
}
class Account {
// some code here
boolean closed = false;
void close() {
closed = true;
}
}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: