代理模式:
代理模式就是一个类代表另一个类的功能。
当直接访问会带来问题时,通常会采用这种方法。
实现方法:添加一个类2,这个类2能实现需要类1的功能,当需要调用类1时,调用类2,这样就不会直接访问类1。
//被追求类
class Schoolgirl { private String Name; public getName() { return Name; } public setName(String name1) { Name=name1; } } //接口类 inteface Gift { void Dolls(); void Flowers(); void Chocolate(); } //追求者类(被代理的类) class Pursuit implement Gift { Schoolgirl mm; public Pursuit (Schoolgirl mm1) { mm=mm1; } //实现三个继承的函数 public void Dolls()
{
System.out.println(mm.Name+“送你洋娃娃”);
}
public void Flowers() { System.out.println(mm.Name+"送你花"); } public void Chocolate() { System.out.println(mm.Name+"送你巧克力"); } } //送东西的(代理类) class Proxy implement Gift { pursuit gg; public Proxy(Schoolgirl mm) { gg=new Pursuit(mm); } //实现继承的三个类时,通过被代理者的对象来实现 public void Dolls()
{
gg.Dolls();
}
public void Flowers() `
{
gg.Flowers();
}
public void Chocolate()
{
gg.Chocolate();
}
}
//客户端
public class P
{public static void main(Sring[] args){
Schoolgirl jiaojiao=new Schoolgirl();
jiaojiao.setName(“李娇娇”);
//代理
Proxy daili=new Proxy(jiaojiao);
daili.Dolls();
daili.Flowers();
daili.Chocolate();
}
}