Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Класс "apple".
- Функции
- - упасть
- - съесть ($percent - процент откушенной части)
- - состариться на 1 час (статическая функция класса)
- Переменные
- - цвет (устанавливается при создании объекта случайным)
- - дата появления
- - статус (на дереве / упало)
- - сколько съели (%)
- - другие необходимые переменные, для определения состояния.
- Пока висит на дереве - испортиться не может.
- Когда висит на деревере - съесть не получится.
- После лежания 5 часов - портится.
- Когда испорчено - съесть не получится.
- Когда съедено - удаляется из массива яблок.
- (некоторые переменные protected, некоторые public).
- Должен быть массив всех яблок (статическая переменная класса apple - $apples)
- ===
- Задача не имеет каких-либо ограничений и требований. Все подходы к ее решению определяют способность выбора правильного алгоритма при проектирования системы и умение предусмотреть любые возможности развития алгоритма. Дата появления - просто абстрактный числовой параметр, который просто меняется функцией ost_hour(); ?
- ===
- Пример результирующего скрипта:
- $apple_1 = new apple('green');
- echo $apple_1->color; // green
- echo apple::$apples[0]->color; // green
- $apple_1->eat(50); // откусить пол яблока
- echo $apple_1->size; // 1 - целое
- $apple_1->fall_to_ground();
- $apple_1->eat(25); // откусить четверть яблока
- echo $apple_1->size; // 0,75
- apple::lost_hour(); // прошел час, должна пройти провера для всех яблок, если они лежат более 5 часов - они портятся.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement