gpt4 book ai didi

oop - 单例模式 - Head First Design Patterns 书中的疑问

转载 作者:行者123 更新时间:2023-12-04 15:05:36 29 4
gpt4 key购买 nike

在第 175 页上,有一个 Chocolate Boiler 类的示例。像这样的东西:

public class ChocolateBoiler {  

private boolean empty;
private boolean boiled;

public ChocolateBoiler {
empty = true;
boiled = false;
}
// and then three methods to fill, drain and boil which changes the
// status of these two flag depending of situation
}

在“脑力”部分,他们提出了一个问题“如果在一个应用程序中创建了多个 ChocolateBoiler 实例,事情会如何出错?”

我不确定这门课有什么问题。为什么我们在这里引入单例模式?这两个标志不是静态的,因此每个实例一个。那么如何创建多个实例会把事情搞砸呢?

最佳答案

问题不在于创建对象的实例。

这是关于由对象的两个实例引起的困惑,这两个实例都声称具有 ChocolateBoiler 的状态。

如果某个对象(例如,Cooker)认为它具有 ChocolateBoiler 的状态,而其他一些对象(例如,Recipe)认为它具有 ChocolateBoiler 的状态,那么现在会发生什么?

由于变量是实例变量,因此 ChocolateBoiler 对象不会就 ChocolateBoiler 的状态达成一致。现在会发生什么?

关于oop - 单例模式 - Head First Design Patterns 书中的疑问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/903556/

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