策略模式(Strategy):它定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。
聚合:表示一种弱的拥有关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分
实现:继承了箭头指向的类
程序运行界面如下:
/**
* @CreateTime: 2021/02/16 16:22
* @Description: 策略模式:收银系统
*/
public class StrategyCashierSystem extends JFrame {
/** 总价 */
private static double total = 0D;
/** 满减 */
private static double sale = 0D;
public static void main(String[] args) {
// 屏幕左上角获得一个窗体
createJFramWindow();
}
public static void createJFramWindow() {
// 或者使用setTitle设置标题
JFrame jf = new JFrame("收银系统");
// 左上角位置以及宽与高
jf.setBounds(600, 300, 250, 450);
JLabel jlPrice = new JLabel("单价:");
JTextField jtfPrice = new JTextField(6);
JButton jbCertain = new JButton("确定");
JLabel jlCounts = new JLabel("数量:");
JTextField jtfCounts = new JTextField(6);
JButton jbClear = new JButton("重置");
JTextArea jtaList = new JTextArea(15, 20);
JScrollPane jspList = new JScrollPane(