文章详情页
Java“Program to an interface”这是什么意思?
浏览:213日期:2024-05-07 15:06:16
(adsbygoogle = window.adsbygoogle || []).push({}); 如何解决Java“Program to an interface”这是什么意思??
简而言之,而不是像这样写类
我依靠这个特定的班级来做我的工作
你写的方式说
我依赖于任何类,做这个东西做我的工作。
第一个示例表示一个类,该类依赖于特定的具体实现来执行其工作。从本质上讲,这不是很灵活。
第二个示例表示写入接口的类。它不在乎您使用什么具体对象,而只是在意它实现某些行为。这可以使该类更加灵活,因为可以为它提供许多具体的实现来执行其工作。
例如,特定类可能需要执行一些日志记录。如果您编写依赖于TextFileLogger的类,则将永远迫使该类将其日志记录写到文本文件中。如果要更改日志记录的行为,则必须更改类本身。该类与它的记录器紧密相连。
但是,如果您编写该类以依赖ILogger接口,然后为该类提供TextFileLogger,则您将完成相同的操作,但是还具有更加灵活的优点。您可以随意提供任何其他类型的ILogger,而无需更改类本身。现在,班级及其记录器之间的联系松散了,您的班级更加灵活。
解决方法我一直遇到这个名词:
编程到接口。
这到底是什么意思?现实生活中的设计方案将受到高度赞赏。
标签:
java
相关文章:
1. 为什么span的color非要内联样式才起作用?2. angular.js - angular-ui-bootstrap 报错无法使用?3. javascript - swiper.js嵌套了swiper 初始设置不能向下一个滑动 结束后重新初始4. docker - 如何修改运行中容器的配置5. javascript - 关于<a>元素与<input>元素的JS事件运行问题6. 在cmd下进入mysql数据库,可以输入中文,但是查看表信息,不显示中文,是怎么回事,怎新手,请老师7. 求救一下,用新版的phpstudy,数据库过段时间会消失是什么情况?8. 高并发写入和更新mysql9. 老师,请问我打开browsersync出现这个问题怎么解决啊?10. html5 - H5做的手机分享页微信更新后,分享出去不再默认显示第一个图 作为缩略图
排行榜

网公网安备