1. 追求接口
package com.hj.designPattern.daili;
public interface IPursuit {
void giveFlowers();
void giveChocolate();
}
2. 美美类
package com.hj.designPattern.daili;
import lombok.Data;
@Data
public class Meimei {
private String name;
Meimei(String name) {
this.name = name;
}
}
3. 哥哥类
package com.hj.designPattern.daili;
import lombok.Data;
@Data
public class Gege implements IPursuit{
private Meimei meimei;
@Override
public void giveFlowers() {
System.out.println("哥哥送花给美美" + meimei.getName());
}
@Override
public void giveChocolate() {
System.out.println("哥哥送巧克力给美美" + meimei.getName());
}
}
4. 代理类
package com.hj.designPattern.daili;
import lombok.Data;
@Data
public class Daili implements IPursuit{
private Gege gege;
@Override
public void giveFlowers() {
gege.giveFlowers();
}
@Override
public void giveChocolate() {
gege.giveChocolate();
}
}
5. 测试类
package com.hj.designPattern.daili;
public class DailiTest {
public static void main(String[] args) {
Meimei meimei = new Meimei("小美");
Gege gege = new Gege();
gege.setMeimei(meimei);
Daili daili = new Daili();
daili.setGege(gege);
daili.giveFlowers();
daili.giveChocolate();
}
}