gpt4 book ai didi

java - 有人不同意 : "using switch is bad OOP style"? 的说法吗

转载 作者:IT老高 更新时间:2023-10-28 21:16:24 25 4
gpt4 key购买 nike

我已经看到它在 stackoverflow 上的多个线程/评论中编写,使用 switch 只是糟糕的 OOP 风格。我个人不同意这一点。

在很多情况下,您无法将代码(即方法)添加到要打开的 enum 类,因为您无法控制它们,可能它们位于第 3 方 jar 文件中.在其他情况下,将功能放在枚举本身是一个坏主意,因为它违反了一些关注点分离的考虑,或者它实际上是其他东西的功能以及枚举

最后,开关简洁明了:

boolean investable;
switch (customer.getCategory()) {
case SUB_PRIME:
case MID_PRIME:
investible = customer.getSavingsAccount().getBalance() > 1e6; break;
case PRIME:
investible = customer.isCeo(); break;
}

我并不是在为 switch 的每次使用辩护,也不是说它总是要走的路。但在我看来,像“Switch 是一种代码味道”这样的说法是错误的。其他人同意吗?

最佳答案

我认为像

这样的陈述

Using a switch statement is bad OOP style.

Case statements can almost always be replaced with polymorphism.

过于简单化了。事实上,打开 type 的 case 语句是糟糕的 OOP 风格。这些是您想要用多态性替换的那些。开启即可。

关于java - 有人不同意 : "using switch is bad OOP style"? 的说法吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/550919/

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