[步骤阅读四]程序更新
到目前为止,我们就完成了使用动态解析Jar的方式,实现了加法和减法运算的功能。这样做的好处在于,未来如果需要为程序更新乘法和除法功能时,只需要增加相应的乘法和除法运算类,发布成新的Jar文件,存放到客户端的calculates文件夹中即可,客户端不需要重新编译和安装。
我们首先来设计乘法运算的派生实现类,核心代码如下:
packagecom.bwf.common.calculate.version0002;
importcom.bwf.common.Calculate;
/**
* 乘法运算派生实现类
* */
publicclassMultiplicationextendsCalculate{
publicMultiplication(){
symbols="*";// 设置运算的符号
}
/**
* 实现抽象超类中的抽象方法,乘法运算的实现
*@return通过乘法运算后的结果
* */
publicdoublegetResult() {
returngetNum1() * getNum2();
}
}
同样的,我们再来设计除法运算的派生实现类,核心代码如下:
packagecom.bwf.common.calculate.version0002;
importjavax.swing.JOptionPane;
importcom.bwf.common.Calculate;
/**
* 除法运算派生实现类
* */
publicclassDivisionextendsCalculate{
publicDivision(){
symbols="/";// 设置运算的符号
}
/**
* 实现抽象超类中的抽象方法,除法运算的实现
*@return通过除法运算后的结果
* */
publicdoublegetResult() {
if( getNum2() == 0 ){
JOptionPane.showMessageDialog(null,"不能被零除!");
return0;
}else{
returngetNum1() / getNum2();
}
}
}
接下来我们把乘法和除法运算类发布出Jar文件,添加到客户端的calculates文件夹中,客户端便立即出现了新的功能。
实例化窗体对象并且运行后效果如下: