java:接口实例
接口:打印机接口
interface Printer { public void read(); }
函数一:佳能打印机
class CanPrinter implements Printer { public void read(){ System.out.println("Canread"); }; }
函数二:惠普打印机
class HPPrinter implements Printer { public void read(){ System.out.println("HPread"); }; }
主函数:
class Test { public static void main(String args[]){ int flag=0; Printer p = null; if(flag==0){ p = new HPPrinter(); }else{ p = new CanPrinter(); } p.read(); } }
得出:HPread
二次整合
接口、函数一、二不变,增加判断flag的类,方便修改
class PrinterFactory { Printer getPrinter(int flag){ //定义类型为Printer Printer p = null; if(flag==0){ p = new HPPrinter(); }else if(flag==1){ p = new CanPrinter(); } return p; //返回对象 } }
主函数:
class Test { public static void main(String args[]){ int flag=0; PrinterFactory f = new PrinterFactory(); Printer printer = f.getPrinter(flag); printer.read(); } }
2024还活着,挺好的,向着星辰与深渊,加油,博客园不要倒下啊!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· Sdcb Chats 技术博客:数据库 ID 选型的曲折之路 - 从 Guid 到自增 ID,再到
· 语音处理 开源项目 EchoSharp
· 《HelloGitHub》第 106 期
· mysql8.0无备份通过idb文件恢复数据过程、idb文件修复和tablespace id不一致处
· 使用 Dify + LLM 构建精确任务处理应用