众所周知,和aop的思想很接近,可以控制对代理对象的访问:
package com.jerry.design.proxy; // 测试类 public class Test { public static void main(String[] args) { OrderProxy o = new OrderProxy("book",12.00,1,"yushh"); System.out.println(o.toString()); o.setName("book2","yushh"); System.out.println(o.toString()); } } class Order{ private String name; private double totle; private int num; private String operator; public String getName() { return name; } public void setName(String name) { this.name = name; } public double getTotle() { return totle; } public void setTotle(double totle) { this.totle = totle; } public int getNum() { return num; } public void setNum(int num) { this.num = num; } public String getOperator() { return operator; } public void setOperator(String operator) { this.operator = operator; } public Order(String name, double totle, int num, String operator) { super(); this.name = name; this.totle = totle; this.num = num; this.operator = operator; } @Override public String toString() { return "Order [name=" + name + ", totle=" + totle + ", num=" + num + ", operator=" + operator + "]"; } } class OrderProxy extends Order{ public OrderProxy(String name, double totle, int num, String operator) { super(name, totle, num, operator); } public void setName(String name,String user){ if(user.equals(this.getOperator())){ super.setName(name); }else{ System.out.println("没有更改权限!!"); } } public String toString() { return super.toString(); } }代理模式--继承
最新推荐文章于 2023-04-16 20:46:50 发布