package DesignPattern.ProxyPattern;
public interface IGiveGift {
void GiveDolls();
void GiveFlowers();
void GiveChocolate();
}
package DesignPattern.ProxyPattern;
public class SchoolGirl {
private String name;
public SchoolGirl(String name){
this.setName(name);
}
public String getName(){
return this.name;
}
public void setName(String name){
this.name=name;
}
}
package DesignPattern.ProxyPattern;
public class Pursuit implements IGiveGift {
SchoolGirl mm;
public Pursuit(SchoolGirl mm){
this.mm=mm;
}
@Override
public void GiveChocolate() {
System.out.println(mm.getName()+" 送你洋娃娃");
}
@Override
public void GiveDolls() {
System.out.println(mm.getName()+" 送你鲜花");
}
@Override
public void GiveFlowers() {
System.out.println(mm.getName()+" 送你花");
}
}
package DesignPattern.ProxyPattern;
public class Proxy implements IGiveGift{
Pursuit gg;
public Proxy(SchoolGirl mm){
this.gg=new Pursuit(mm);
}
public void GiveDolls(){
gg.GiveDolls();
}
public void GiveFlowers(){
gg.GiveFlowers();
}
public void GiveChocolate(){
gg.GiveChocolate();
}
}
package DesignPattern.ProxyPattern;
public class Client {
public static void main(String[] args)
{
SchoolGirl mm=new SchoolGirl("jiaojiao");
Proxy daili=new Proxy(mm);
daili.GiveDolls();
daili.GiveFlowers();
daili.GiveChocolate();
}
}