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