gpt4 book ai didi

java - 选择接口(interface)或抽象类

转载 作者:搜寻专家 更新时间:2023-11-01 03:57:23 26 4
gpt4 key购买 nike

在一次采访中,有人要求我证明什么时候选择接口(interface),什么时候选择抽象类,以及在什么情况下你会从这两个中选择唯一的一个。我已经提出了我对接口(interface)的分析,那就是...

Interface is best choice for Type declaration or defining contract between multiple parties. If multiple programmers are working in different modules of a project they still use each others API by defining interface and not waiting for actual implementation to be ready.

This brings us a lot of flexibility and speed in terms of coding and development. Use of Interface also ensures best practices like "programming for interfaces than implementation" and results in more flexible and maintainable code.

但是我没有充分的理由来证明抽象类的合理性,请指教..!

最佳答案

抽象类用于将多个具体类分组到一个实体下。

例如,抽象类Animal。动物不是具体的东西。这是一个动物家庭。但它们都有某些共同点,例如,每个都有一个 speak() 选项(好吧,除了 fish 和 sort)。但是每个人的实现方式都不同。通过这种方式,您可以只覆盖不相同的方法,例如 sleep() 或 breath() 很常见(同样,fish 是不同的 :))。

另一方面,接口(interface)是“ Action ”的更直接定义。这就是为什么大多数(如果不是全部)Java 中的接口(interface)都以“able”结尾(Comprable、Serializable...)通过实现该接口(interface),您是在告诉其他程序员或曾经使用过您的代码的人,该类可以做到这一点。例如,一只狗不是 Animable。

基本上,总结一下,我认为最好的定义是这样的。当你有一个 A is kind of B 的类时使用抽象类,当 A 可以做 B 时使用接口(interface)。

希望对您有所帮助。

关于java - 选择接口(interface)或抽象类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11889588/

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