[步驟閱讀四]程序更新
到目前為止浓若,我們就完成了使用動(dòng)態(tài)解析Jar的方式,實(shí)現(xiàn)了加法和減法運(yùn)算的功能崩掘。這樣做的好處在于,未來(lái)如果需要為程序更新乘法和除法功能時(shí)少办,只需要增加相應(yīng)的乘法和除法運(yùn)算類(lèi)苞慢,發(fā)布成新的Jar文件,存放到客戶(hù)端的calculates文件夾中即可英妓,客戶(hù)端不需要重新編譯和安裝挽放。
我們首先來(lái)設(shè)計(jì)乘法運(yùn)算的派生實(shí)現(xiàn)類(lèi),核心代碼如下:
packagecom.bwf.common.calculate.version0002;
importcom.bwf.common.Calculate;
/**
* 乘法運(yùn)算派生實(shí)現(xiàn)類(lèi)
* */
publicclassMultiplicationextendsCalculate{
publicMultiplication(){
symbols="*";// 設(shè)置運(yùn)算的符號(hào)
}
/**
* 實(shí)現(xiàn)抽象超類(lèi)中的抽象方法蔓纠,乘法運(yùn)算的實(shí)現(xiàn)
*@return通過(guò)乘法運(yùn)算后的結(jié)果
* */
publicdoublegetResult() {
returngetNum1() * getNum2();
}
}
同樣的辑畦,我們?cè)賮?lái)設(shè)計(jì)除法運(yùn)算的派生實(shí)現(xiàn)類(lèi),核心代碼如下:
packagecom.bwf.common.calculate.version0002;
importjavax.swing.JOptionPane;
importcom.bwf.common.Calculate;
/**
* 除法運(yùn)算派生實(shí)現(xiàn)類(lèi)
* */
publicclassDivisionextendsCalculate{
publicDivision(){
symbols="/";// 設(shè)置運(yùn)算的符號(hào)
}
/**
* 實(shí)現(xiàn)抽象超類(lèi)中的抽象方法腿倚,除法運(yùn)算的實(shí)現(xiàn)
*@return通過(guò)除法運(yùn)算后的結(jié)果
* */
publicdoublegetResult() {
if( getNum2() == 0 ){
JOptionPane.showMessageDialog(null,"不能被零除纯出!");
return0;
}else{
returngetNum1() / getNum2();
}
}
}
接下來(lái)我們把乘法和除法運(yùn)算類(lèi)發(fā)布出Jar文件,添加到客戶(hù)端的calculates文件夾中敷燎,客戶(hù)端便立即出現(xiàn)了新的功能暂筝。
實(shí)例化窗體對(duì)象并且運(yùn)行后效果如下: