Приднестровская поддержка XOOPS
Ниже приведен код для нашего примера, написанный с использованием процедурного подхода.
<?php
function changeJob($person, $newjob)
{
$person['job'] = $newjob; // Изменить профессию
return $person;
}
function happyBirthday($person)
{
++$person['age']; // Прибавить 1 к возрасту
return $person;
}
$person1 = array(
'name' => 'Tom',
'job' => 'Button-Pusher',
'age' => 34
);
$person2 = array(
'name' => 'John',
'job' => 'Lever-Puller',
'age' => 41
);
// Вывести начальные значения характеристик
echo "<pre>Person 1: ", print_r($person1, TRUE), "</pre>";
echo "<pre>Person 2: ", print_r($person2, TRUE), "</pre>";
// Том получил повышение, и у него был день рождения
$person1 = changeJob($person1, 'Box-Mover');
$person1 = happyBirthday($person1);
// У Джона был только день рождения
$person2 = happyBirthday($person2);
// Вывести новые значения характеристик
echo "<pre>Person 1: ", print_r($person1, TRUE), "</pre>";
echo "<pre>Person 2: ", print_r($person2, TRUE), "</pre>";
?>
Выполнив этот код, вы получите следующие результаты.
Person 1: Array ( [name] => Tom [job] => Button-Pusher [age] => 34 )
Person 2: Array ( [name] => John [job] => Lever-Puller [age] => 41 )
Person 1: Array ( [name] => Tom [job] => Box-Mover [age] => 35 )
Person 2: Array ( [name] => John [job] => Lever-Puller [age] => 42 )
Хотя этот код не столь уж и плох, в процессе его написания необходимо помнить о множестве вещей. При каждом вызове функции в нее должен передаваться, а затем и возвращаться из нее, массив, содержащий характеристики соответствующего лица, и здесь легко допустить ошибку.
Для оптимизации этого кода было бы желательно, чтобы разработчик оперировал как можно меньшим количеством элементов. Каждый раз для выполнения текущей операции в функцию должна передаваться лишь та информация, без которой невозможно обойтись.
Для обеспечения именно такого структурирования кода и предназначено ООП.
Отправитель | Нити |
---|
26 пользователь(ей) активно (11 пользователь(ей) просматривают Инструкции)
Участников: 0 Гостей: 26 далее... |