W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
用委托替換繼承重構(gòu)允許 IntelliJ IDEA 從繼承層次結(jié)構(gòu)中刪除類(lèi),同時(shí)保留父級(jí)的功能。IntelliJ IDEA 創(chuàng)建了一個(gè)私有的內(nèi)部類(lèi),它繼承了以前的超類(lèi)或接口。通過(guò)新的內(nèi)部類(lèi)調(diào)用父節(jié)點(diǎn)的選定方法。
重構(gòu)前:
// File Class.java
public class Class extends SuperClass {
public int varInt;
public void openMethod() {
...
}
}
// File SuperClass.java
public abstract class SuperClass {
public static final int CONSTANT=0;
public abstract void openMethod();
public void secretMethod() {
...
}
}
重構(gòu)后:
// File Class.java
public class Class {
public int varInt;
private final MySuperClass superClass = new MySuperClass();
public SuperClass getSuperClass() {
return superClass;
}
public void openMethod() {
superClass.openMethod();
}
private class MySuperClass extends SuperClass {
public void openMethod() {
...
}
}
}
// File SuperClass.java UNCHANGED
public abstract class SuperClass {
public static final int CONSTANT=0;
public abstract void openMethod();
public void secretMethod() {
...
}
}
要用委派替換繼承,請(qǐng)按照下列步驟操作:
將打開(kāi) "用委托替換繼承" 對(duì)話框。
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)系方式:
更多建議: