例子: 租房子
角色: 我 (I ) 中介( Proxy ) 房东( host )
Rent 接口
- package org.example;
-
- public interface Rent {
- void rent();
- }
房东
- package org.example;
-
- public class Host implements Rent{
- @Override
- public void rent() {
- System.out.println("房东要出租房子");
- }
- }
中介
- package org.example;
-
- public class Proxy implements Rent{
- private Host host;
-
- public Proxy(){
-
- }
-
- public Proxy(Host host) {
- this.host = host;
- }
-
- @Override
- public void rent() {
- host.rent();
- }
- }
I
- package org.example;
-
- public class I {
- public static void main(String[] args) {
- Host host =new Host();
- Proxy proxy=new Proxy(host);
- proxy.rent();
- }
-
- }
核心: Proxy proxy=new Proxy(host);
将房东出租房子这件事交给了中介去做,但是出租房子还是房东
中介不仅只做一件事,比如要签合同什么的,方法写在Proxy类中