gpt4 book ai didi

Java 代码风格——接口(interface)与抽象类

转载 作者:搜寻专家 更新时间:2023-10-30 20:58:57 26 4
gpt4 key购买 nike

我的一位新合作者正在审查我编写的一些代码,她告诉我她不习惯看到直接在 Java 代码中使用的接口(interface),例如:

public interface GeneralFoo { ... }

public class SpecificFoo implements GeneralFoo { ... }

public class UsesFoo {
GeneralFoo foo = new SpecificFoo();
}

相反,期待看到

public interface GeneralFoo { ... }

public abstract class AbstractFoo implements GeneralFoo { ... }

public class SpecificFoo extends AbstractFoo { ... }

public class UsesFoo {
AbstractFoo foo = new SpecificFoo();
}

如果所有 SpecificFoos 通过 AbstractFoo 共享功能,但如果各种 Foos 具有完全不同的内部实现(或者我们不关心特定 Foo 如何执行 Bar,只要它执行它,我就可以看到这种模式何时有意义), 直接在代码中使用接口(interface)有什么坏处吗?我意识到这在某种程度上可能是番茄/番茄的问题,但我很好奇我是否遗漏了第二种风格的优势或第一种风格的劣势。

最佳答案

如果您不需要具有所有实现共有的某些细节的抽象类,那么就没有真正需要抽象类。复杂性通常会增加到应用程序中,因为人们认为需要支持尚未定义的 future 功能。坚持有效的方法,然后再重构。

关于Java 代码风格——接口(interface)与抽象类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5018662/

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