//第一版没有代理模式
/*public class Main {
public static void main(String args[])
{
SchoolGirl ss=new SchoolGirl("李娇娇");
Pursuit zhuo=new Pursuit("卓嘉义");
Pursuit zhuo=new Pursuit(ss);
zhuo.GiveDolls();
zhuo.GiveFlowers();
zhuo.GiveChocolate();
}
}
class Pursuit{
SchoolGirl mm;
private String name;
public Pursuit(SchoolGirl mm) {
this.mm=mm;
}
public Pursuit(String name){
this.name=name;
}
public void GiveDolls() {
System.out.println("送"+mm.Name()+"洋娃娃");
}
public void GiveFlowers() {
System.out.println("送"+mm.Name()+"鲜花");
}
public void GiveChocolate() {
System.out.println("送"+mm.Name()+"巧克力");
}
}
class SchoolGirl{
private String name;
public SchoolGirl(String name) {
this.name=name;
}
public String Name() {
return name;
}
}*/
//只有代理
/*class Proxy{
SchoolGirl mm;
public Proxy(SchoolGirl mm) {
this.mm=mm;
}
public void GiveDolls() {
System.out.println(mm.Name()+"送你洋娃娃");
}
public void GiveFlowers() {
System.out.println(mm.Name()+"送你鲜花");
}
public void GiveChocolate() {
System.out.println(mm.Name()+"送你巧克力");
}
}
class SchoolGirl{
private String name;
public SchoolGirl(String name) {
this.name=name;
}
public String Name() {
return name;
}
}
public class Main {
public static void main(String args[])
{
SchoolGirl ss=new SchoolGirl("李娇娇");
Proxy zhuo=new Proxy(ss);
zhuo.GiveDolls();
zhuo.GiveFlowers();
zhuo.GiveChocolate();
}
}*/
//符合实际的代码
interface GiveGift{
void GiveDolls();
void GiveFlowers();
void GiveChocolate();
}
class Pursuit implements GiveGift{
SchoolGirl mm;
public Pursuit(SchoolGirl mm) {
this.mm=mm;
}
public void GiveDolls() {
// TODO Auto-generated method stub
System.out.println(mm.Name()+"送你洋娃娃");
}
public void GiveFlowers() {
// TODO Auto-generated method stub
System.out.println(mm.Name()+"送你鲜花");
}
public void GiveChocolate() {
// TODO Auto-generated method stub
System.out.println(mm.Name()+"送你巧克力");
}
}
class Proxy implements GiveGift{
Pursuit gg;
public Proxy(SchoolGirl mm) {
gg=new Pursuit(mm);
}
public void GiveDolls() {
// TODO Auto-generated method stub
gg.GiveDolls();
}
public void GiveFlowers() {
// TODO Auto-generated method stub
gg.GiveFlowers();
}
public void GiveChocolate() {
// TODO Auto-generated method stub
gg.GiveChocolate();
}
}
class SchoolGirl{
private String name;
public SchoolGirl(String name) {
this.name=name;
}
public String Name() {
return name;
}
}
public class Main {
public static void main(String args[])
{
SchoolGirl ss=new SchoolGirl("李娇娇");
Proxy daili=new Proxy(ss);
daili.GiveDolls();
daili.GiveFlowers();
daili.GiveChocolate();
}
}
代理模式一步步实现
最新推荐文章于 2024-09-07 23:32:00 发布