酷代码 AI
菜单
服务商

java 根据迟到的理由不同,如:去厕所,在路上,回家等理由。当老师需要知道是何种理由迟到时只需传入相应的参数,现请使用简单工厂模式来模拟该过程。 简单工厂:

以下是一个使用 Java 实现的简单工厂模式来处理不同迟到理由的示例代码: ```java public class LateReasonFactory { public static LateReason createLateReason(String reason) { if (reason.equalsIgnoreCase("去厕所")) { return new ToiletReason(); } else if (reason.equalsIgnoreCase("在路上")) { return new OnTheRoadReason(); } else if (reason.equalsIgnoreCase("回家")) { return new HomeReason(); } else { throw new IllegalArgumentException("无效的迟到理由"); } } public static void main(String[] args) { LateReason reason = LateReasonFactory.createLateReason("去厕所"); // 在这里对获取到的迟到理由对象进行相应的操作 } interface LateReason { void explain(); } static class ToiletReason implements LateReason { @Override public void explain() { System.out.println("因为去厕所迟到了"); } } static class OnTheRoadReason implements LateReason { @Override public void explain() { System.out.println("因为在路上迟到了"); } } static class HomeReason implements LateReason { @Override public void explain() { System.out.println("因为回家迟到了"); } } } ``` 在上述代码中,定义了一个`LateReasonFactory`类,其中的`createLateReason`方法根据传入的不同理由字符串创建相应的具体`LateReason`对象。`LateReason`是一个接口,不同的具体理由类实现了这个接口来提供各自的解释逻辑。 [2024-10-17 17:24:05 | AI写代码神器 | 373点数解答]

相关提问
实用工具查看更多
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]
数独游戏 [娱乐类]
经典推箱子 [娱乐类]
AI摸鱼五子棋 [娱乐类]