gpt4 book ai didi

java - 违反 OO 指导原则

转载 作者:行者123 更新时间:2023-12-01 19:16:35 31 4
gpt4 key购买 nike

据称以下代码违反了 OO 指导原则。

public class Main {
public static String NAME = "James";

public Main() {
System.out.println("Name is: "+NAME);
}
}

public class AnotherMain() {
public AnotherMain() {
System.out.println("Print name: "+Main.NAME);
}
}

我所能猜测的是它可能有一个抽象类,它有一个具体的方法,比如 print(String message) ,然后有 Main 类和 AnotherMain 类来扩展抽象类,然后传递它们要打印的消息进入其父抽象类中实现的 print() 方法。然后在他们的构造函数中,他们会调用 print("Name is: "+NAME)。这将使构造函数免于调用 System.out.println() 两次。

但我仍然持怀疑态度,因为它说代码中有一些违反 OO 指导原则的内容。

对此有什么建议吗?谢谢。

最佳答案

就在我的头顶上,

System.out.println("Print name: "+Main.NAME);

通过访问独立类拥有的东西来破坏封装;如果是这样的话,那么 NAME 应该独立于这两个类并导入到它们的作用域中。

关于java - 违反 OO 指导原则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6374987/

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