gpt4 book ai didi

java - 一个类必须遵守一个接口(interface)的文档约定才能说实现该接口(interface)

转载 作者:搜寻专家 更新时间:2023-10-30 21:24:44 25 4
gpt4 key购买 nike

我知道实现一个接口(interface)意味着什么(技术上),但我不确定我是否理解“契约”包含的内容:

假设我创建了一个类MyList,它实现了java.util.List(也就是说,我用编译代码实现了所有方法),是MyList 一个 List 然后呢?或者我是否需要阅读我覆盖的方法的所有评论并确保我的实现满足这些行为的“期望”?

最佳答案

从技术上讲,是的,如果 MyList 实现了 List 接口(interface)的所有方法,它就是一个 List。但是编译器不是魔术师。它无法检查您的方法是否做了它们应该做的事情。当然,每种方法都应该按照其文档中的说明进行操作。

如果我收到一个 List,并且这个 ListMyList 的一个实例,我调用 list.add("foo"),我希望在列表末尾添加“foo”。不得删除、添加两次或任何其他行为。因此,当然,如果您的类实现了 List,它的方法应该符合其 API 文档中定义的契约。

假设您销售汽车。我去你的店,买辆车。对我来说,它是一辆汽车,因为它看起来像所有其他汽车:它有轮子、踏板、车窗等。但是如果我踩 throttle ,它就会刹车,当我打开灯时,它会鸣笛,当我打开 window ,它加速并在路上撞死了一个可怜的 child ,我一点也不高兴,你会遇到麻烦,因为你卖给我的车运行不正常。

关于java - 一个类必须遵守一个接口(interface)的文档约定才能说实现该接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37898153/

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