代理模式实现明星和经纪人
时间: 2024-03-22 08:33:27 浏览: 27
代理模式是一种常用的设计模式,它的主要作用是为其他对象提供一种代理以控制对这个对象的访问。在代理模式中,我们定义一个代理类来代替原始对象,从而实现在不改变原始对象的情况下,对其进行功能扩展和增强。
以明星和经纪人为例,我们可以通过代理模式来实现明星和经纪人之间的关系。具体实现步骤如下:
1.定义一个明星接口Star,其中包含一个show()方法,用于展示明星的表演。
2.创建一个明星实现类RealStar,实现Star接口中的show()方法,用于展示明星的表演。
3.创建一个代理类StarProxy,实现Star接口中的show()方法,并在其中创建一个RealStar对象,用于代理明星的表演。在代理类中,我们可以在明星表演前后进行一些处理,例如预约、支付酬劳等。
4.在客户端中,我们可以通过创建一个StarProxy对象来代理RealStar对象,从而实现对明星表演的控制和增强。
下面是Java代码实现:
```java
// 明星接口
public interface Star {
void show();
}
// 真实明星类
public class RealStar implements Star {
@Override
public void show() {
System.out.println("明星正在唱歌跳舞...");
}
}
// 明星代理类
public class StarProxy implements Star {
private RealStar realStar;
public StarProxy(RealStar realStar) {
this.realStar = realStar;
}
@Override
public void show() {
System.out.println("明星展示前请预约");
realStar.show();
System.out.println("明星展示后请支付酬劳");
}
}
// 客户端
public class Client {
public static void main(String[] args) {
RealStar realStar = new RealStar();
StarProxy starProxy = new StarProxy(realStar);
starProxy.show();
}
}
```