Java中的多态性和接口(可以使用多态来实现接口……为什么?)
发布时间:2020-12-15 02:05:58 所属栏目:Java 来源:网络整理
导读:在现实世界中,人们使用它来解决什么类型的问题?我可以看到这些协同工作的示例代码吗?我所能找到的只是关于猫狗说话或人们喝牛奶或咖啡的代码…… 人们真的用接口实现多态吗?做什么的? 解决方法 当然, 下面是“Observer”模式的具体示例,使用类和接口在记
在现实世界中,人们使用它来解决什么类型的问题?我可以看到这些协同工作的示例代码吗?我所能找到的只是关于猫狗说话或人们喝牛奶或咖啡的代码……
人们真的用接口实现多态吗?做什么的? 解决方法
当然,
下面是“Observer”模式的具体示例,使用类和接口在记录器系统中完成多态行为: interface ILogger{ public void handleEvent (String event); } class FileLogger implements ILogger{ public void handleEvent (String event){ //write to file } } class ConsoleLogger implements ILogger{ public void handleEvent (String event){ System.out.println( event ); } } class Log { public void registerLogger (ILogger logger){ listeners.add(logger); } public void log (String event){ foreach (ILogger logger in listeners){ logger.handleEvent(event); //pass the log string to both ConsoleLogger and FileLogger! } } private ArrayList<ILogger> listeners; } 然后,您可以按如下方式使用它: public static void main(String [] args){ Log myLog(); FileLogger myFile(); ConsoleLogger myConsole(); myLog.registerLogger( myFile ); myLog.registerLogger( myConsole ); myLog.log("Hello World!!"); myLog.log("Second log event!"); } 希望这有助于您理解接口和多态性. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |