gpt4 book ai didi

oop - 为什么是接口(interface)而不是普通类

转载 作者:行者123 更新时间:2023-12-04 23:18:25 31 4
gpt4 key购买 nike

这是一个新手问题。

我了解接口(interface)、抽象类等的技术实现,我确实了解编程差异以及如何以及何时使用它们。我知道接口(interface)就像一个没有具体定义的强制契约(Contract),所有实现类都必须实现,但我不明白为什么首先要强制执行这样的契约(Contract)?

例如,我有一家酒店'H',有一些房间可以预订,

interface H{
//example method to implement
reserveRoom(int n, ...) {}

... other methods
}

另一方面,我有旅游预订网站 A1、A2、A3 等,它们可能有自己的折扣/佣金计划,可能会向上销售/向下销售给他们的客人,但我没有得到的是这可能与“H”酒店预订政策有关吗? H 酒店唯一有兴趣以他们的要价入住房间。

请解释为什么需要这样的使用接口(interface)设计?

谢谢。

最佳答案

interface 视为您实现的规则集。如果您遵循规则集,您可以保证消费者能够无缝地转向您的实现。

例如 JDBC 接口(interface)。 Java 提供了一组接口(interface)作为 JDBC,数据库供应商确实提供了这些接口(interface)的实现。

这就是为什么无论您连接到哪个数据库,您下面的声明都有效。

Statement stmt = conn.createStatement( )

考虑一下,没有接口(interface) (JDBC),MySql 驱动程序将 createStatement() 更改为 makeStatement()。您将不得不更改代码,最终将编写特定于数据库的代码

关于oop - 为什么是接口(interface)而不是普通类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49502709/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com