当然,
下面是“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 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!");
}
希望这有助于您理解接口和多态性.
最后
以上就是标致紫菜最近收集整理的关于java接口能实现多态吗_Java中的多态性和接口(可以使用多态来实现接口……为什么?)...的全部内容,更多相关java接口能实现多态吗_Java中内容请搜索靠谱客的其他文章。
发表评论 取消回复