<?php
class Employee
{
public $rank;
public $isBoss;
public function getSalary($rank, $isBoss)
{
// Если это не босс, то переменной присваевается 1 чтобы при умножение не было ошибки.
if($isBoss == 0){
$percent = 1;
} elseif ($isBoss == 1){
$percent = 1.5;
}
if ($rank == 1){
return $percent;
} elseif($rank == 2) {
return $percent * 1.25;
} elseif($rank == 3) {
return $percent * 1.5;
}
}
public function getCoffeDrunk(){}
public function __construct($rank, $isBoss)
{
$this->rank = $rank;
$this->isBoss = $isBoss;
}
}
class Department
{
private $workers = array(); public function getTotalPaid(){}
public function totalCofeeDrunk(){}
public function addWorker($departament, $rank,$isBoss)
{
$this->workers[] = array($departament, $rank, $isBoss); }
}
class Manager extends Employee
{
public function getRate()
{
return parent::getSalary($this->rank, $this->isBoss) * 500;
}
public function getCoffeDrunk(){}
}
class Marketer extends Employee
{
public function getRate()
{
return parent::getSalary($this->rank, $this->isBoss) * 400;
}
public function getCoffeDrunk(){}
}
class Engineer extends Employee
{
public function getRate()
{
return parent::getSalary($this->rank, $this->isBoss) * 200;
}
public function getCoffeDrunk(){}
}
class Analyst extends Employee
{
public function getRate()
{
return parent::getSalary($this->rank, $this->isBoss) * 800;
}
public function getCoffeDrunk(){}
}
$vasya = new Manager(3,0);
echo $vasya->getRate() . "\n";
echo $vasya->getRate();
PD9waHAKZXJyb3JfcmVwb3J0aW5nKC0xKTsKIGNsYXNzIEVtcGxveWVlCnsJCglwdWJsaWMgJHJhbms7CglwdWJsaWMgJGlzQm9zczsKIAoJcHVibGljIGZ1bmN0aW9uIGdldFNhbGFyeSgkcmFuaywgJGlzQm9zcykKCXsKCQkKCQkvLyDQldGB0LvQuCDRjdGC0L4g0L3QtSDQsdC+0YHRgSwg0YLQviDQv9C10YDQtdC80LXQvdC90L7QuSDQv9GA0LjRgdCy0LDQtdCy0LDQtdGC0YHRjyAxINGH0YLQvtCx0Ysg0L/RgNC4INGD0LzQvdC+0LbQtdC90LjQtSDQvdC1INCx0YvQu9C+INC+0YjQuNCx0LrQuC4KCQlpZigkaXNCb3NzID09IDApewoJCQkkcGVyY2VudCA9IDE7CgkJIH0gZWxzZWlmICgkaXNCb3NzID09IDEpewoJCQkgJHBlcmNlbnQgPSAxLjU7CgkJIH0KCQkgCgkJIAoJCSBpZiAoJHJhbmsgPT0gMSl7CQoJCQkgcmV0dXJuICRwZXJjZW50OwoJCSB9IGVsc2VpZigkcmFuayA9PSAyKSB7CgkJCSByZXR1cm4gJHBlcmNlbnQgKiAxLjI1OwoJCSB9IGVsc2VpZigkcmFuayA9PSAzKSB7CgkJCSByZXR1cm4gJHBlcmNlbnQgKiAxLjU7CgkJIH0KCX0KCXB1YmxpYyBmdW5jdGlvbiBnZXRDb2ZmZURydW5rKCl7fQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRyYW5rLCAkaXNCb3NzKQoJewoJCSR0aGlzLT5yYW5rID0gJHJhbms7CgkJJHRoaXMtPmlzQm9zcyA9ICRpc0Jvc3M7Cgl9Cn0KIAogCmNsYXNzIERlcGFydG1lbnQKewkKCXByaXZhdGUgJHdvcmtlcnMgPSBhcnJheSgpOyAKCXB1YmxpYyBmdW5jdGlvbiBnZXRUb3RhbFBhaWQoKXt9CglwdWJsaWMgZnVuY3Rpb24gdG90YWxDb2ZlZURydW5rKCl7fQoJcHVibGljIGZ1bmN0aW9uIGFkZFdvcmtlcigkZGVwYXJ0YW1lbnQsICRyYW5rLCRpc0Jvc3MpCgl7CgkJJHRoaXMtPndvcmtlcnNbXSA9IGFycmF5KCRkZXBhcnRhbWVudCwgJHJhbmssICRpc0Jvc3MpOwkJCgl9Cn0KIAogCiAKY2xhc3MgTWFuYWdlciBleHRlbmRzIEVtcGxveWVlCnsKCSBwdWJsaWMgZnVuY3Rpb24gZ2V0UmF0ZSgpCgkgeyAKCQlyZXR1cm4gcGFyZW50OjpnZXRTYWxhcnkoJHRoaXMtPnJhbmssICR0aGlzLT5pc0Jvc3MpICogNTAwOwoJIH0KCSBwdWJsaWMgZnVuY3Rpb24gZ2V0Q29mZmVEcnVuaygpe30KfQogCiAKY2xhc3MgTWFya2V0ZXIgZXh0ZW5kcyBFbXBsb3llZQp7CglwdWJsaWMgZnVuY3Rpb24gZ2V0UmF0ZSgpCgl7CgkJcmV0dXJuIHBhcmVudDo6Z2V0U2FsYXJ5KCR0aGlzLT5yYW5rLCAkdGhpcy0+aXNCb3NzKSAqIDQwMDsKCX0KCXB1YmxpYyBmdW5jdGlvbiBnZXRDb2ZmZURydW5rKCl7fQp9CiAKIApjbGFzcyBFbmdpbmVlciBleHRlbmRzIEVtcGxveWVlCnsKCXB1YmxpYyBmdW5jdGlvbiBnZXRSYXRlKCkKCXsKCQlyZXR1cm4gcGFyZW50OjpnZXRTYWxhcnkoJHRoaXMtPnJhbmssICR0aGlzLT5pc0Jvc3MpICogMjAwOwoJfQoJcHVibGljIGZ1bmN0aW9uIGdldENvZmZlRHJ1bmsoKXt9Cn0KIAogCmNsYXNzIEFuYWx5c3QgZXh0ZW5kcyBFbXBsb3llZQp7CglwdWJsaWMgZnVuY3Rpb24gZ2V0UmF0ZSgpCgl7CgkJcmV0dXJuIHBhcmVudDo6Z2V0U2FsYXJ5KCR0aGlzLT5yYW5rLCAkdGhpcy0+aXNCb3NzKSAqIDgwMDsKCX0KCXB1YmxpYyBmdW5jdGlvbiBnZXRDb2ZmZURydW5rKCl7fQp9CgokdmFzeWEgPSBuZXcgTWFuYWdlcigzLDApOwplY2hvICR2YXN5YS0+Z2V0UmF0ZSgpIC4gIlxuIjsKCmVjaG8gJHZhc3lhLT5nZXRSYXRlKCk7