总的来说:是将一个对象的方法交给另外的一个人对象来处理。或者是另外的一个对象来判断被代理对象是否能执行相应的方法。
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、结果:
汽车商店帮:高洪岩买了一台新车
岩洪高金钱不够,请继续比赛!
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、结果:
汽车商店帮:高洪岩买了一台新车
岩洪高金钱不够,请继续比赛!