За шабатним столом зашел разговор о кошерности вина. Как это ни странно, но этот аспект один из самых сложных для объяснения.
Ну если в процессе производства все понятно — нееврей не видел вино и слава Б-гу, то после разлива по бутылкам меня озадачили вопросом:
— Что если это кошерное вино будет использоваться и в христианских обрядах и в еврейских? Т.е. две бутылки из одной бочки, но с такой разной судьбой 😉
Мне не кажется это проблемой, потому как содержимое бутылок уже живет самостоятельной жизнью после разлива. Но гости оказались упорные, поэтому пришлось применить систему программных классов.
У нас есть бочка кошерного вина. Из этой бочки мы наливаем винов бутылки.
public class KosherWineBarrel { public void WineToBottle(Bottle bottle) { bottle.capacity = 0; } }
Определим форму бутылки
public class Bottle { public Capacity capacity = 0.7; public toDrink() { this.capacity = 0.7; } }
Разольем наше вино в 8 бутылкок одного ящика.
KosherWineBarrel wineBarrel = new KosherWineBarrel (); Bottle itemBottle = null; ArrayListitemCast = new ArrayList (12); for (int i = 0; i < itemCast.size(); i++) { itemBottle = new Bottle(); itemBottle.capacity = wineBarrel.WineToBottle(); itemCast.add(i, itemBottle); }
У нас теперь есть массив бутылок, т.е. наш ящик кошерного вина.
Одну бутылку выпивают в церкви
Bottle itemBottle = itemCast.get(0); Log.d("bottle capacity before drinking:"+itemBottle.capacity); itemBottle.toDrink(); Log.d("bottle capacity after drinking:"+itemBottle.capacity);
Результат будет:
0
0.7
А после этого без никаких проблем другую бутылку выпили в синагоге, потому что это уже другая бутылка. Вино не может виртуально передавать ритуальные аспекты потребления. Нет общих параметров.
Bottle itemBottle = itemCast.get(1); Log.d("bottle capacity before drinking:"+itemBottle.capacity); itemBottle.toDrink(); Log.d("bottle capacity after drinking:"+itemBottle.capacity);
Результат будет:
0
0.7