Java最全Java进阶-设计模式-访问者模式,靠着这份900多页的PDF面试整理

最后

作为过来人,小编是整理了很多进阶架构视频资料、面试文档以及PDF的学习资料,针对上面一套系统大纲小编也有对应的相关进阶架构视频资料


本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

public interface Person {

void accept(Department department);

}

复制代码

定义红绿码成员:

public class RedCodePerson implements Person {

private String userName;

private String userPhone;

private String cardNo;

private String address;

@Override

public void accept(Department department) {

department.visit(this);

}

public RedCodePerson(String userName, String userPhone, String cardNo, String address) {

this.userName = userName;

this.userPhone = userPhone;

this.cardNo = cardNo;

this.address = address;

}

public String getUserName() {

return userName;

}

public String getUserPhone() {

return userPhone;

}

public String getCardNo() {

return cardNo;

}

public String getAddress() {

return address;

}

}

复制代码

定义绿码成员:

package com.home.test.visitor.userInfo;

public class GreenCodePerson implements Person{

private String userName;

private String userPhone;

private String cardNo;

private String address;

// 疫苗

private String vaccine;

@Override

public void accept(Department department) {

department.visit(this);

}

public GreenCodePerson(String userName, String userPhone, String cardNo, String address, String vaccine) {

this.userName = userName;

this.userPhone = userPhone;

this.cardNo = cardNo;

this.address = address;

this.vaccine = vaccine;

}

public String getUserName() {

return userName;

}

public String getUserPhone() {

return userPhone;

}

public String getCardNo() {

return cardNo;

}

public String getAddress() {

return address;

}

public String getVaccine() {

return vaccine;

}

}

复制代码

定义访问者部门接口:

public interface Department {

void visit(RedCodePerson person);

void visit(GreenCodePerson person);

}

复制代码

定义医院部门访问实现类:

package com.home.test.visitor.userInfo;

public class DocDepartment implements Department {

@Override

public void visit(RedCodePerson person) {

System.out.printf(“红码人员:%s,手机号:%s,疫苗接种情况:%s,开始隔离!%n”,

person.getUserName(),

person.getUserPhone(),

person.getAddress());

}

@Override

public void visit(GreenCodePerson person) {

System.out.printf(“绿码人员:%s,手机号:%s,疫苗接种情况:%s,放回家.%n”,

person.getUserName(),

person.getUserPhone(),

person.getVaccine());

}

}

复制代码

定义乡镇访问实现类:

package com.home.test.visitor.userInfo;

/**

  • 乡镇获取权限: 姓名、手机号、接种情况、地址、身份证号

*/

public class VillageDepartment implements Department {

@Override

public void visit(RedCodePerson person) {

System.out.printf(“红码人员:%s,手机号:%s,身份证号:%s,地址:%s,请及时排查密接人员!%n”,

person.getUserName(),

person.getUserPhone(),

person.getCardNo(),

person.getAddress());

}

@Override

public void visit(GreenCodePerson person) {

System.out.printf(“绿码人员:%s,手机号:%s,身份证号:%s,疫苗接种情况:%s,”,

person.getUserName(),

person.getUserPhone(),

person.getCardNo(),

person.getVaccine());

if ((“未接种”).equals(person.getVaccine())) {

System.out.println(“请及时通知该人员接种疫苗”);

最后

如果觉得本文对你有帮助的话,不妨给我点个赞,关注一下吧!

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

接种疫苗");

最后

如果觉得本文对你有帮助的话,不妨给我点个赞,关注一下吧!

[外链图片转存中…(img-cOU3DHf0-1715316754172)]

[外链图片转存中…(img-F7niOQV3-1715316754172)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 22
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值