代理模式

总的来说:是将一个对象的方法交给另外的一个人对象来处理。或者是另外的一个对象来判断被代理对象是否能执行相应的方法。
1、抽象方法:买车
package buy_car_package;

public interface buy_car_package {

public void buy_car();
}

2、人类,实现买车接口
package buy_car_imple;

import buy_car_package.buy_car_package;

public class people implements buy_car_package {

private int cash;
private String username;

public int getCash() {
return cash;
}

public void setCash(int cash) {
this.cash = cash;
}

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public void buy_car() {
System.out.println(username + "买了一台新车");
}

}
3、汽车代理商,有判断人是否有资格买车的条件
package buy_car_imple;

import buy_car_package.buy_car_package;

public class proxy_buy_car_imple implements buy_car_package {

private people people;

public people getPeople() {
return people;
}

public void setPeople(people people) {
this.people = people;
}

public void buy_car() {
if (people.getCash() > 3000) {
System.out.print("汽车商店帮:");
people.buy_car();
} else {
System.out.println(people.getUsername() + "金钱不够,请继续比赛!");
}
}

}

4、运行
package run_main;

import buy_car_imple.people;
import buy_car_imple.proxy_buy_car_imple;

public class run_main {
public static void main(String[] args) {
people people_ref1 = new people();
people_ref1.setCash(4000);
people_ref1.setUsername("高洪岩");

people people_ref2 = new people();
people_ref2.setCash(2000);
people_ref2.setUsername("岩洪高");

proxy_buy_car_imple proxy_buy_car_imple = new proxy_buy_car_imple();
proxy_buy_car_imple.setPeople(people_ref1);
proxy_buy_car_imple.buy_car();

proxy_buy_car_imple.setPeople(people_ref2);
proxy_buy_car_imple.buy_car();

}
}
5、结果:
汽车商店帮:高洪岩买了一台新车
岩洪高金钱不够,请继续比赛!

你可能感兴趣的:(代理模式)