Код: Выделить всё
public class ChocolateBoiler {
private boolean empty;
private boolean boiled;
private ChocolateBoiler() {
empty = true;
boiled = false;
}
public void fill() {
if (isEmpty()) {
empty = false;
boiled = false;
// fill the boiler with a milk/chocolate mixture
}
}
public void drain() {
if (!isEmpty() && isBoiled()) {
// drain the boiled milk and chocolate
empty = true;
}
}
public void boil() {
if (!isEmpty() && !isBoiled()) {
// bring the contents to a boil
boiled = true;
}
}
public boolean isEmpty() {
return empty;
}
public boolean isBoiled() {
return boiled;
}
}
Choc-O-Holic проделал достойную работу, чтобы не допустить плохих вещей. ты не думаешь? Опять же, вы, вероятно, подозреваете, что если два экземпляра ChocolateBoiler потеряются, могут произойти очень плохие вещи. Что может пойти не так, если в приложении будет создано более одного экземпляра ChocolateBoiler?
Я не могу понять, что может пойти неправильный. Можете ли вы помочь? Как могут мешать 2 экземпляра этого класса. Я не могу понять.
Подробнее здесь: https://stackoverflow.com/questions/792 ... terns-book