238328 25.03.2013 18:21

нужно слепить, а потом сварить пельмени в количестве 30 штук.
в процедурном языке всё достаточно просто:

у нас есть структурка пельмень

структура пельмень {
слепленость (да или нет)
свареность (да или нет)
}
есть функциональность моих рук

слепить (указать, что слепить) {
указанное.слепленость = да;
}
и я взял функциональность из подключенной библиотеки (ну или модуля) "кастрюлька"

сварить (указать, что сварить) {
указанное.свареность = да;
}
набираем 30 пельмешек

пельмень пельмешки[30];
и при помощи описанных выше функций готовим пельмешки.

=========================================================

а как сготовить пельмени в ООП?

у меня появилось пару мыслей:

1.
создать три класса: класс пельмень, класс руки, класс кастрюлька.

класс пельмень будет содержать только поля слепленост и свареность.

класс руки будет содержать только функцию слепить.

а класс кастрюлька будет содержать только функцию варить.

но как теперь при помощи класса руки слепить пельмешку? как этим классом ВЗЯТЬ пельмешку? ну хорошо, добавим в класс пельмешка метод GetСлепленость. но получается, что пельмешка сама даётся нам в руки, а не мы её берём. бред какой то.

2.
сделаем только один класс и назовём его кухня. в него будут входить поля слепленост, свареность и методы слепить и сварить. а что если мне надо сварить пельмешки на природе? в общем опять бред какой то.

как правильно сварить пельмешки в ООП?

1. ulidtko 25.03.2013 20:03

ручка.писать(текст, бумага)
текст.написаться(бумага, ручка)
бумага.написать(текст, ручка)

VS

писать(текст, бумага, ручка)

2. 238328ulidtko /1 25.03.2013 20:07

говно

3. ulidtko238328 /2 25.03.2013 20:09

и не нужно

5. kurkuma 26.03.2013 05:25

доставляю медскиллзы, рейт ми пстащ

$hands = Hands::getInstance();
$saucepan = Saucepan::getInstance();

while (!$saucepan→isFull)
{
$sausepan→add(FactoryPotsticker::create($hands));
}

$sausepan→cook();

Do you really want to delete ?