<?php
// archive-ipq-co.narod.ru
class Employee
{
public $name ; // имя-фамилия
public $rate ; // часовая ставка (сколько он получает тугриков за час работы)
public $hours = array ( ) ; // массив, содержащий отработанные часы по неделям
public function __construct( $name , $rate )
{
// задаем имя и часовую ставку
$this -> name = $name ;
$this -> rate = $rate ;
}
/** Считает общее число отработанных часов */
public function getTotalHoursWorked( )
{
// Просто складываем значения часов в массиве
}
/** Считает зарплату */
public function getSalary( )
{
// Получаем число отработанных часов
$hours = $this -> getTotalHoursWorked ( ) ;
// и умножаем на часовую ставку
$salary = $hours * $this -> rate ;
return $salary ;
}
}
$ivan = new Employee( "Иванов Иван" , 10 ) ;
// name и rate заданы через конструктор, потому осталось лишь написать часы
$ivan -> hours = array ( 40 , 40 , 40 , 40 ) ; // Иван работает по 40 часов в неделю
$peter = new Employee( "Петров Петр" , 8 ) ;
$peter -> hours = array ( 40 , 10 , 40 , 50 ) ; // Петр взял отгул и потому отработал меньше часов, // но в последнюю неделю решил поработать побольше
$employees = array ( $ivan , $peter ) ;
foreach ( $employees as $employee ) {
echo "Имя: {$employee->name} \n " ;
echo "Ставка, тугриков в час: {$employee->rate} \n " ;
echo "Отработал, часов: {$employee->getTotalHoursWorked ()}\n " ;
echo "Заработал, тугриков: {$employee->getSalary ()}\n " ;
}
PD9waHAKCi8vIGFyY2hpdmUtaXBxLWNvLm5hcm9kLnJ1CmVycm9yX3JlcG9ydGluZygtMSk7CgpjbGFzcyBFbXBsb3llZSAgICAgICAgICAgICAKewogICAgcHVibGljICRuYW1lOyAgICAgICAgICAgICAgIC8vINC40LzRjy3RhNCw0LzQuNC70LjRjwogICAgcHVibGljICRyYXRlOyAgICAgICAgICAgICAgIC8vINGH0LDRgdC+0LLQsNGPINGB0YLQsNCy0LrQsCAo0YHQutC+0LvRjNC60L4g0L7QvSDQv9C+0LvRg9GH0LDQtdGCINGC0YPQs9GA0LjQutC+0LIg0LfQsCDRh9Cw0YEg0YDQsNCx0L7RgtGLKQogICAgcHVibGljICRob3VycyA9IGFycmF5KCk7ICAgIC8vINC80LDRgdGB0LjQsiwg0YHQvtC00LXRgNC20LDRidC40Lkg0L7RgtGA0LDQsdC+0YLQsNC90L3Ri9C1INGH0LDRgdGLINC/0L4g0L3QtdC00LXQu9GP0LwKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJG5hbWUsICRyYXRlKQogICAgewogICAgICAgIC8vINC30LDQtNCw0LXQvCDQuNC80Y8g0Lgg0YfQsNGB0L7QstGD0Y4g0YHRgtCw0LLQutGDCiAgICAgICAgJHRoaXMtPm5hbWUgPSAkbmFtZTsKICAgICAgICAkdGhpcy0+cmF0ZSA9ICRyYXRlOwogICAgfQoKICAgIC8qKiDQodGH0LjRgtCw0LXRgiDQvtCx0YnQtdC1INGH0LjRgdC70L4g0L7RgtGA0LDQsdC+0YLQsNC90L3Ri9GFINGH0LDRgdC+0LIgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRUb3RhbEhvdXJzV29ya2VkKCkKICAgIHsKICAgICAgICAvLyDQn9GA0L7RgdGC0L4g0YHQutC70LDQtNGL0LLQsNC10Lwg0LfQvdCw0YfQtdC90LjRjyDRh9Cw0YHQvtCyINCyINC80LDRgdGB0LjQstC1CiAgICAgICAgcmV0dXJuIGFycmF5X3N1bSgkdGhpcy0+aG91cnMpOwogICAgfQoKICAgIC8qKiDQodGH0LjRgtCw0LXRgiDQt9Cw0YDQv9C70LDRgtGDICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0U2FsYXJ5KCkKICAgIHsKICAgICAgICAvLyDQn9C+0LvRg9GH0LDQtdC8INGH0LjRgdC70L4g0L7RgtGA0LDQsdC+0YLQsNC90L3Ri9GFINGH0LDRgdC+0LIKICAgICAgICAkaG91cnMgPSAkdGhpcy0+Z2V0VG90YWxIb3Vyc1dvcmtlZCgpOwogICAgICAgIC8vINC4INGD0LzQvdC+0LbQsNC10Lwg0L3QsCDRh9Cw0YHQvtCy0YPRjiDRgdGC0LDQstC60YMKICAgICAgICAkc2FsYXJ5ID0gJGhvdXJzICogJHRoaXMtPnJhdGU7CiAgICAgICAgcmV0dXJuICRzYWxhcnk7CiAgICB9Cn0KCgokaXZhbiA9IG5ldyBFbXBsb3llZSgi0JjQstCw0L3QvtCyINCY0LLQsNC9IiwgMTApOwovLyBuYW1lINC4IHJhdGUg0LfQsNC00LDQvdGLINGH0LXRgNC10Lcg0LrQvtC90YHRgtGA0YPQutGC0L7RgCwg0L/QvtGC0L7QvNGDINC+0YHRgtCw0LvQvtGB0Ywg0LvQuNGI0Ywg0L3QsNC/0LjRgdCw0YLRjCDRh9Cw0YHRiwokaXZhbi0+aG91cnMgPSBhcnJheSg0MCwgNDAsIDQwLCA0MCk7ICAgLy8g0JjQstCw0L0g0YDQsNCx0L7RgtCw0LXRgiDQv9C+IDQwINGH0LDRgdC+0LIg0LIg0L3QtdC00LXQu9GOCgokcGV0ZXIgPSBuZXcgRW1wbG95ZWUoItCf0LXRgtGA0L7QsiDQn9C10YLRgCIsIDgpOwokcGV0ZXItPmhvdXJzID0gYXJyYXkoNDAsIDEwLCA0MCwgNTApOyAgLy8g0J/QtdGC0YAg0LLQt9GP0Lsg0L7RgtCz0YPQuyDQuCDQv9C+0YLQvtC80YMg0L7RgtGA0LDQsdC+0YLQsNC7INC80LXQvdGM0YjQtSDRh9Cw0YHQvtCyLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vINC90L4g0LIgINC/0L7RgdC70LXQtNC90Y7RjiDQvdC10LTQtdC70Y4g0YDQtdGI0LjQuyDQv9C+0YDQsNCx0L7RgtCw0YLRjCDQv9C+0LHQvtC70YzRiNC1CgokZW1wbG95ZWVzID0gYXJyYXkoJGl2YW4sICRwZXRlcik7Cgpmb3JlYWNoICgkZW1wbG95ZWVzIGFzICRlbXBsb3llZSkgewogICAgZWNobyAi0JjQvNGPOiB7JGVtcGxveWVlLT5uYW1lfVxuIjsKICAgIGVjaG8gItCh0YLQsNCy0LrQsCwg0YLRg9Cz0YDQuNC60L7QsiDQsiDRh9Cw0YE6IHskZW1wbG95ZWUtPnJhdGV9XG4iOwogICAgZWNobyAi0J7RgtGA0LDQsdC+0YLQsNC7LCDRh9Cw0YHQvtCyOiB7JGVtcGxveWVlLT5nZXRUb3RhbEhvdXJzV29ya2VkKCl9XG4iOwogICAgZWNobyAi0JfQsNGA0LDQsdC+0YLQsNC7LCDRgtGD0LPRgNC40LrQvtCyOiB7JGVtcGxveWVlLT5nZXRTYWxhcnkoKX1cbiI7Cn0KCg==